더북(TheBook)

클러스터 관리자는 노드(node)라고 하는 각각의 서버를 관리한다. 클러스터의 처리 용량을 확장하기 위해 노드를 추가하거나, 노드를 서비스에서 제외하거나, 클러스터 내 노드를 차례로 업데이트하는 롤링 업데이트를 적용할 수 있다. 마이크로소프트 애저 쿠버네티스 서비스(Azure Kubernetes Service, AKS)나 아마존 일래스틱 쿠버네티스 서비스(Elastic Kubernetes Service, EKS) 같은 매니지드 서비스에서는 웹 인터페이스나 명령행으로 이런 기능을 편리하게 사용할 수 있도록 제공한다. 또한 일반적인 사용에서는 각각의 노드를 신경 쓸 필요 없이 전체 클러스터를 하나의 대상처럼 다룰 수 있다.

쿠버네티스 클러스터의 목적은 애플리케이션을 실행하는 것이다. YAML 파일에 애플리케이션을 기술하고 이 파일을 쿠버네티스 API에 전달하면, 쿠버네티스가 파일에 기술된 애플리케이션 구성을 이해하고 클러스터 현재 상태와 비교한다. 파일에 기술된 바람직한 상태와 현재 상태에 차이가 있다면 컨테이너를 추가 또는 제거한다. 컨테이너는 고가용성을 위해 여러 노드에 흩어져 있으며 쿠버네티스가 관리하는 가상 네트워크로 서로 통신할 수 있다. 그림 1-2는 배포 절차를 나타낸 다이어그램이다. 이 수준에서는 각각의 노드를 신경 쓸 필요가 없기 때문에 다이어그램에도 노드가 표현되어 있지 않다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.