컨테이너 오케스트레이션이란?
- 오케스트라 = 지휘자 에서 파생된 단어로 다수의 컨테이너를 자동으로 배치, 관리, 확장, 복구하는 시스템이다. 사람이 직접 관리하기 힘든 작업(스케일링, 로드밸런싱, 장애복구 등)을 자동화 한다.
대표도구
쿠버, ocp
쿠버네티스 아키텍처
- 쿠버네티스는 여러 노드(또는 서버)를 사용하여 애플리케이션의 복원력과 확장성을 보장한다. 노드는 컨틀로 플레인 노드와 컴퓨팅 플레인 노드로 이루어져 있다.
- 컨트롤 플레인 노드
- 쿠버네티스의 전체적인 것을 관장한다. 쿠버네티스를 유지하기 위한 메타데이터 저장소도 가지기고 있으며, 컨테이너의 배치나 호출 그리고 사용자가 내리는 명령 등이 컨트롤 플레인으로 전달 된다.
- etcd : 클러스터에 대한 구성 정보를 가지고 있는 키 - 값 형테의 데이터베이스
- kube-apiserver : 쿠버네티스 API를 노출하는 프론트엔드 서비스
- kube-scheduler : 컨테이너(파드)를 배치하는 서비스
- kube-controller-manager : 컨트롤러 프로세스를 실행하는 서비스
- 컴퓨팅 플레인 노드(또는 컴퓨트 노드)
- 컴퓨팅 플레인 노드에서는 컨테이너 애플리케이션이 파드 형태로 실행되며, 이를 위해 몇 가지 구성요소가 필요하다.
- kubelet : 쿠버네티스의 컴퓨팅 플레인 에이전트, 주로 API 및 스케쥴러에서 전송된 요청 실행
- kube-proxy : 노드의 포트에 대한 네트워크 구성과 통신을 제공하는 구성 요소
- CRI : kubelet과 파드 구성 요청 간에 구성 가능한 통신을 제공하는 플러그인
- cri-o : 컨테이너 런타임
