Certified Kubernetes Administration - 78
2024-06-23
- Kubernetes
- Cloud
Kubernetes 고가용성 설계 강의 정리
고가용성의 필요성
-
마스터 노드 손실: 마스터 노드가 다운되면 워커 노드가 살아있고 컨테이너가 실행 중이어도 애플리케이션은 계속 실행됨. 그러나 문제가 발생하면 복구할 마스터가 없으므로 서비스 장애 발생.
-
복구 필요 시: 예를 들어, 워커 노드의 컨테이너가 실패하면 복제 컨트롤러가 새로운 파드를 로드해야 하지만 마스터가 없으면 이 작업이 수행되지 않음.
-
API 서버 접근: 마스터 노드가 없으면
kubectl
도구를 통해 클러스터에 접근할 수 없음.
고가용성 설정
-
중복성 보장: 클러스터의 모든 구성 요소에 중복성을 제공해 단일 장애 지점을 피함.
-
마스터 노드
-
워커 노드
-
제어 플레인 컴포넌트
-
애플리케이션
-
고가용성 구성의 작동 원리
-
API 서버: 모든 마스터 노드에서 활성 상태로 실행되며, 모든 노드에서 요청을 처리할 수 있음.
- 로드 밸런서: API 서버 앞에 로드 밸런서를 배치해 요청을 분산시킴.
-
스케줄러와 컨트롤러 매니저: 활성-대기 모드로 실행.
-
리더 선출 과정: 각 프로세스는 리더 역할을 얻기 위해 선출 과정을 거침.
-
리더 임대 옵션:
leader-elect
옵션으로 활성화, 기본값은 true. -
임대 기간:
leader-elect-lease-duration
기본값은 15초. -
갱신 마감 시간:
leader-elect-renew-deadline
기본값은 10초. -
재시도 주기:
leader-elect-retry-period
기본값은 2초.
-
-
etcd 설정
-
토폴로지 유형:
-
스택형 제어 플레인 노드 토폴로지: etcd가 마스터 노드에 포함됨.
-
장점: 설정 및 관리가 쉬움.
-
단점: 노드 손실 시 등등 제어 플레인과 etcd 데이터 손실 가능성 높음.
-
-
외부 etcd 서버 토폴로지: etcd가 별도의 서버에서 실행됨.
-
장점: 제어 플레인 노드 손실이 etcd 클러스터에 영향을 미치지 않음.
-
단점: 설정이 복잡하고, 더 많은 서버가 필요함.
-
-
-
API 서버와 etcd 통신: etcd 서버에 접근하기 위해 API 서버는 etcd 인스턴스 목록을 지정함.
고가용성 클러스터 디자인
-
원래 디자인: 단일 마스터 노드로 구성.
-
고가용성 추가: 다중 마스터 노드와 로드 밸런서 추가.
-
최종 디자인: 총 5개의 노드(다중 마스터 노드 포함).
이 요약은 고가용성 Kubernetes 클러스터 설계를 설명합니다. 고가용성 설정을 통해 클러스터의 안정성과 가용성을 높일 수 있습니다.
Certified ...
Certified ...