[ 쿠버네티스 아키텍쳐 ]
1. 컨트롤 플레인
컨트롤 플레인은 클러스터의 두뇌 역할을 하며
사용자의 API요청, CLI, UI서비스를 제공한다.
좀 더 자세히 살펴보면
아래 그림의 실선의 쿠버네티스 마스터 영역이 컨트롤 플레인이다.
- etcd : 쿠버네티스 관련 메타정보를 저장하는 데이터베이스
- kube-apiserver : 컨트롤 플레인의 프론트엔드 서버로 API요청을 처리
- kube-scheduler : 생선된 파드를 실행할 노드를 결정
- kube-controller-manager : 디플로이먼트와 같은 리소스 컨트롤러를 관리
- cloud-controller-manager : 클라우드 기반 클러스터의 로드밸런서나 디스트볼륨 자원을 관리
2. 노드 컴포넌트
- kubelet : 노드에 예약된 워크로드를 실행하기 위해 컨테이너 런타임관리, 모니터링
- kube-proxy : 서로 다른 노드에 있는 파드간 통신, 네트워크 트래픽을 라우팅
3. 고가용성
- etcd 데이터베이스는 여러 노드에 걸쳐 복제되며, 절반이상이 사용가능하면 복구가능
- 컨트롤 플레인 장애시 App이 다운되진 않지만, 새로운 컨터에너 또는 리소스를 변경할 수 없으므로 가장 빠르게 복구해야 함
- 고가용성을 위해 상용시 최소 3개이상의 클러스터가 필요
- 워커노드장애시 쿠버네티스가 해당 노드의 파드들을 다른 노드로 재조정
댓글 없음:
댓글 쓰기