- 마스터 노드가 사라져도 워커 노드는 동작한다. 사용자는 실패할 때까지 앱에 접속할 수 있다.
- 컨테이너나 포드가 고장나면
- 컨테이너나 포드가 ReplicaSet의 일부라면 ReplicaSetController가 새 포드를 로드하라고 지시해야 한다. 하지만, 마스터의 컨트롤러는 사용이 불가능하다.
- 그래서 컨테이너나 포드를 로드하라고 지시할 수 있는 것과 스케줄링할 수 있 것이 없다.
- kube-apiserver도 없기 때문에, kubectl도 사용 불가능하다.
- 그래서 여러개의 마스터 노드를 사용하는 것을 고려해야 한다.
- High Availability란 단일 실패 지점을 피하기 위해 모든 구성 요소가 여러개가 있는 것
- 여러개의 마스터 노드가 있는데, 각각의 마스터 노드에 동일한 요청이 가면 안된다.
- 그래서 로드 밸런서를 사용하여 각 마스터 노드에 적절하게 분산되어야 한다.
- Controller Manager와 Scheduler도 여러개 중 하나만 동작해야 한다.
- 여러개 중 하나만 동작시키고, 나머지는 StandBy로
ETCD
- 여러개의 ETCD가 있으면 동일한 데이터를 갖고 있고, 분산된 형태
- 모든 ETCD에 동일한 데이터가 있는지는 어떻게 확인?
- READ는 쉽다. WRITE는 다르다.
- 동시에 2개의 다른 인스턴스에서 WRITE 요청이 오면?
- 하나의 WRITE 요청만 처리해야 한다.
- 하나의 ETCD만 리더가 되고, 다른 ETCD들은 팔로워가 되어야 한다.
- 리더가 쓰면 팔로워들은 복사본을 받아 쓰기
- 동시에 2개의 다른 인스턴스에서 WRITE 요청이 오면?
- READ는 쉽다. WRITE는 다르다.
- Stacked Topology
- 셋업과 관리가 쉽고, 더 적은 서버가 필요하다.
- 실패동안 위험이 있다.
- External ETCD Topology
- 셋업이 어렵고 더 많은 서버가 필요하다.
- 위험이 적다.
728x90
'클라우드' 카테고리의 다른 글
Ingress (0) | 2024.12.30 |
---|---|
Cluster Upgrade Process (0) | 2024.12.19 |
Operating System Upgrade (0) | 2024.12.18 |
Monitor Kubernetes Cluster (0) | 2024.12.17 |
Node Selector, Node Affinity (0) | 2024.12.16 |