쿠버네티스의 핵심, 컨트롤 플레인 (마스터 노드)
쿠버네티스의 모든 데이터를 관리하는 노드
- Hub and Spoke 패턴
Spoke들은 Hub를 통해서만 통신하는 쿠버네티스의 기본 패턴
- 선언적 동작 방식
사용자가 원하는 상태를 마스터 노드에 전달하면 마스터 노드는 그 상태를 맞추기 위해 노력하는 형식
Hub and Spoke 패턴
Hub는 API 서버가 담당하고 API 서버와 연결되어 있는 컴포넌트들은 Spoke를 담당한다
이 Spoke들은 서로 통신하지 않으며, 항상 API 서버와 통신을 한다
- Spoke의 종류
Controller Manager
Scheduler
Kubelet
- Hub and Spoke 패턴의 장점
쿠버네티스의 데이터를 보관하는 곳은 etcd 라는 저장소인데, 이는 API 서버를 통해서만 데이터 변경이 가능하기 때문에 일관성을 유지할 수 있다
Spoke만 추가하면 되기 때문에 새 기능을 추가하기가 쉽다 (확장성이 좋다)
선언적 동작
사용자가 주문한 동작을 어떻게든 수행한다
사용자는 원하는 상태를 Hub에 전달하고 결과를 기다리면 된다
- 명령적 동작 방식 (반대 개념)
사용자가 동작의 상세한 명령들을 제공하는 방식
쿠버네티스에서도 이를 지원하지만, 쿠버네티스 스스로 안정적으로 동작하기 때문에 선언적 동작 방식을 권장한다
- 매니패스토 파일
사용자가 Hub에 전달하는 주문서 (yaml 파일)
watch 메커니즘
매니패스토 파일의 변경이 발생했을때 API Server가 이를 확인하여 컴포넌트에 전달한다
이를 통해 실시간적인 상태변경이 가능하다
- 장점
실시간으로 대응이 가능하고, 리소스 버전을 통해 누락되거나 중복된 변경 사항에 대해 대응할 수 있어 데이터 정합성을 보장할 수 있다
Reference
'Container > Kubernetes' 카테고리의 다른 글
쿠버네티스의 한계 (0) | 2024.11.30 |
---|---|
쿠버네티스가 필요한 이유 (0) | 2024.11.04 |
쿠버네티스 관리자를 위한 CKA 자격증 준비하기 (0) | 2024.04.27 |
쿠버네티스를 싫어하는 사람들을 위한 안내서 (0) | 2024.03.16 |
2024년 쿠버네티스 표준 아키텍처 (0) | 2024.01.13 |