더북(TheBook)

애플리케이션 구성을 파일에 기술하기만 하면, 그 구성을 따라 쿠버네티스가 애플리케이션을 실행하고 관리해 준다. 어떤 노드가 고장을 일으키더라도 해당 노드에서 실행되던 컨테이너는 다른 노드에서 실행된 컨테이너로 대체된다. 특정한 컨테이너가 이상을 일으켰다면 쿠버네티스가 해당 컨테이너를 재시작한다. 애플리케이션의 컴포넌트 중 하나의 부하가 높아지면 해당 컴포넌트의 컨테이너를 추가로 실행한다. 도커 이미지와 쿠버네티스 YAML 파일만 있으면 모든 쿠버네티스 클러스터에서 동일하게 동작하는 자기수복형(self-healing) 애플리케이션을 만들 수 있다.

쿠버네티스가 관리하는 것은 컨테이너뿐만이 아니다. 바로 이 점 덕분에 쿠버네티스가 완전한 애플리케이션 플랫폼이 될 수 있었다. 클러스터에는 분산 데이터베이스가 들어 있다. 이 분산 데이터베이스에는 애플리케이션 구성 정보는 물론이고 API 키나 데이터베이스 접속 패스워드 같은 비밀값도 함께 저장할 수 있다. 쿠버네티스는 이들 정보를 자연스럽게 컨테이너에 전달해 준다. 클러스터에 정확한 설정이 들어 있다면 어떤 환경이라도 동일한 컨테이너 이미지를 사용할 수 있다. 쿠버네티스는 스토리지도 제공한다. 이를 이용하여 컨테이너 외부에 데이터를 저장할 수 있으며 유상태 애플리케이션이라도 고가용성을 확보할 수 있다. 또한 클러스터로 들어오는 트래픽을 관리하며, 각 요청을 해당하는 컨테이너로 전달해 주는 기능도 있다.

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