Infra

[k8s]what is k8s

뚜둔뚜둔 2022. 3. 6. 17:19

kubernetes 특징 

1. Auto Scaling 

  • 트래픽의 양에 따라 서비스의 자원량을 변경해 줌

2. Auto Healing

  • 장애가 난 서버위에 있는 서비스들이 다른 서버로 자동으로 옮겨짐
  • 한 서버에서 장애가 나더라도, 여분의 한 서버가 있으면 자동으로 실행이 됨.

3. Deployment

  • RolingUpdate
    • 서버 중단이 허용 되는 경우 모든 서버를 내렸다가, 업데이트 후 서버를 올림
  • Recreate
    • 무중단 서비스 : 한 서버씩 내린 다음 업데이트 후 다시 올림.

운영이 클수록 효과적인 작업이 가능함.


container란

os위에 컨테이너 가상화를 실현하게 해주는 softwore들이 있다 :ex. docker, rkt, LXC

docker 를 가장 많이 사용함 , docker 가 container 라는 것을 만들어줌

 

  • 여러 컨테이너들 간의 host 자원을 분리해서 사용할 수 있게 해줌
    • -> namespace(mnt, pid, net, uts, user) 와 cgroups(memory, CPU, I/O, network)을 사용해서 분리 
  • 한서비스를 올릴떄 모듈별로 쪼개서 하나의 모듈은 하나의 container에 담는걸 권장함.
  • 모듈에 맞는 언어를 사용하면 가장 좋음

K8S란

  • 여러 컨테이너를 한 파드에 담을 수 있다.
  • 한파드에 하나의 컨테이너를 담아도 됨.
  • pod란 배포 단위를 말함.
  • 내가 필요한 pod만 확장 가능 -> k8s가 매우 쉽게 할 수 있도록 설계 되어있음.

 


Docker container Run

> docker build -t <epository/imagename:version>

>> # -t : <epository/imagename:version>

> docker images

> docker run -d -p 8100:8000 <repository/imagename:version>

>> # -d : 백그라운드 모드

>> # -p : 포트 변경

> docker ps

> docker exec -it <imageID> /bin/bash

Docker iamge push

> docker login

> docker push <repository/imagename:version>

 

 

반응형