Kubernetes 의 kubelet 은 kube-apiserver 랑 통신한다. 그래서 control plane 노드가 여러개 있으면 Domain 이나 VIP 를 만들어서 Load Balancer 를 통해 살아있는 Control Plane 노드로 연결할 수 있도록 구현해 주어야 한다.
하지만 RKE2 를 Elemental 으로 설치했는데 고민이 생겼다. 이러한 Load Balancer 를 설정할 수 있는 방법이 없었기 때문이다.
(RKE2 를 그냥 설치하면 server address 를 설정할 수 있지만 elemental 과 rancher 로 프로비저닝하면 자동으로 지정된다)
그래서 만약 첫번째로 프로비저닝된 control plane 노드가 죽으면, 다른 노드들은 어떻게 통신하지? 라는 물음이었는데, 문의해보니 당연히 이런 내용은 고려되어 구현되어 있었다.
https://rancher-users.slack.com/archives/C3ASABBD1/p1666656986435839
위에 따르면 Rancher 가 죽어도, 프로비저닝된 Cluster 는 단독으로도 동작하며, Node Join 이후 모든 노드에 control node 의 주소에 대한 캐싱이 되어서 자체적으로 로드벨런싱 된다는 것이다.
그리고 아마도 control plane 의 IP가 바뀌면 알아서 캐시도 바뀌는 것 같다.
반응형
'개발 및 운영 > Kubernetes' 카테고리의 다른 글
kubernetes sysctl (0) | 2023.05.24 |
---|---|
Kubernetes 에서 Node 죽었을 때 PV가 있는 파드가 스케쥴링 되지 않는 현상 (0) | 2022.12.27 |
EJBCA-CE Docker with HSM on Kubernetes (1) | 2022.10.03 |
rook-ceph 에서 Proxmox ceph 을 external cluster 으로 사용할 때 문제 (0) | 2022.08.10 |
kata-containers 설치 (0) | 2022.06.21 |
댓글