Kubernetis

 쿠버네티스는 컨테이너 관리자로 컨테이너 운영을 자동화하기 위한 도구이다. 쉽게 얘기해서 도커 관리자라고 생각하면 편하다. docker의 종류에는 docker, docker-compose, docker-swarm 이 존재하는데 각각 컨테이너, 컨테이너의 묶음, 컨테이너 관리자의 역할을 한다. 따라서 여기서 docker-swarm의 역할과 비슷한 역할을 하는게 이 Kubernetis이다. 따라서 쿠버네티스는 도커들의 컨테이너를 관리하며 죽은 도커를 다시 살려주거나 하는 기능을 갖고 있다. 트래픽이 많은 경우에는 Mesos라는 관리자를 사용하기도 한다고한다. 이 셋중 굳이 쿠버네티스를 사용하는 이유는 단지 서비스를 이용하기 편하게 클라우드서비스에서 제공이 잘 되어있기 때문이다. 여러대의 컴퓨터에서 도커들이 띄워져 있을때 이를 통합해서 관리하기 위해서 쿠버네티스를 사용하는데 이 컴퓨터 하나들을 노드라고 하고 이 때 이들을 모두 관리하는 노드를 마스터노드, 나머지 각각의 노드들은 워커노드라고 부른다.

 하나의 노드 위에서 도커 컨테이너가 그냥 올라가 있는게 아니라 파드(pod)라는 도구 위에서 컨테이너가 올라가는데 하나 이상의 컨테이너가 하나의 파드위에서 올라갈 수도 있다. 일반적으로는 1파드당 1컨테이너가 올라가 있다. 따라서 도커를 복사할때에는 이를 직접 복사하기보단 파드를 복사해서 사용한다. 또한 하나의 노드에 올라갈 수 있는 파드의 수는 한정적이다(용량이슈) 따라서 파드를 많이 생성하기 위해선 결국 노드의 수를 늘려야 한다. 또한 이런 노드들의 군집을 클러스터(Cluster)라고 한다. 

 

또한 쿠버네티스를 사용하면 업데이트를 위해서 서버를 중단시키지 않아도 되는 무중단배포가 가능한데 우선 대표적인 배포 방식을 알아보자면

  • 블루그린 배포
  • 카나리 배포
  • 롤링 배포

 더 많은 배포 방식이 있지만 대표적으로 이같은 방식들이 사용되며 쿠버네티스를 사용하면 이런 배포 방식을 사용할 수 있도록 하는 기능이 내장되어있다. 

계속 내용 추가중..

 

'오늘의 공부 정리' 카테고리의 다른 글

34. VPC  (0) 2022.08.24
33. Firewall & DMZ  (0) 2022.08.24
31. 로드밸런서 & DNS  (0) 2022.08.24
30. Big-Query  (0) 2022.08.23
29. Redis  (0) 2022.08.23
복사했습니다!