
마지막으로 이제 지난번에 만든 외부 로드벨런서를 기존 클러스터에 붙이는 작업을 하겠씀.
이전글:
HA kubernetes cluster 구성 프로젝트 3
이전글: HA kubernetes cluster 구성 프로젝트 2이전글: HA kubernetes cluster 구성 프로젝트 1사내에서 쿠버환경을 구축해서 개발 어플리케이션 배포 & PoC 어플리케이션 배포 용으로 사용중이다. (사내에 서
hongveloper.tistory.com
지난 과정 정리
- 두 개 LB 노드(lb01, lb02)에 haproxy + keepalived 설치.
- keepalived에서 VIP 192.168.3.20 설정 → 마스터/백업 노드 중 하나가 VIP를 보유.
- haproxy에서 API 서버 두 노드(192.168.3.15, 192.168.3.18)의 6443 포트를 TCP LB로 묶음.
기존 클러스터에 로드벨런서 붙이기
- 기존 kubeadm-config에는 controlPlaneEndpoint: 192.168.3.15:6443.
- 이를 VIP로 변경: controlPlaneEndpoint: "192.168.3.20:6443"
- 동시에 apiServer.certSANs에 VIP를 추가
apiServer:
certSANs:
- 127.0.0.1
- 10.96.0.1
- 192.168.3.15
- 192.168.3.18
- 192.168.3.20
- kubernetes
- kubernetes.default
- kubernetes.default.svc
- kubernetes.default.svc.cluster.local
apiserver 인증서 재발급
기존 인증서에는 VIP가 없어서 에러 발생 → 재발급 필요함
절차:
- /etc/kubernetes/pki/apiserver.crt와 apiserver.key 백업 후 삭제.
- 최소 ClusterConfiguration YAML(/tmp/cc.yaml)을 작성 (VIP SAN 포함).
- 새 인증서 생성:
sudo kubeadm init phase certs apiserver --config=/tmp/cc.yaml
sudo systemctl restart kubelet
- openssl s_client -connect 192.168.3.15:6443 및 -connect 192.168.3.20:6443 로 SAN 확인 → 192.168.3.20 포함됨.
- 모든 ControlPlane 노드(192.168.3.15, 192.168.3.18)에 동일하게 적용.
kubeconfig VIP로 변경
kubeconfig(~/.kube/config, /etc/kubernetes/admin.conf, /etc/kubernetes/kubelet.conf)
모두 server: https://192.168.3.20:6443 로 변경
kubectl config set-cluster kubernetes --server=https://192.168.3.20:6443
최종확인
- kubectl cluster-info → VIP(192.168.3.20)로 표시.
- kubectl get nodes → 모든 노드 Ready.
- openssl s_client -connect 192.168.3.20:6443 → SAN에 192.168.3.20 존재 확인.
이렇게 해서 클러스터를 VIP 기반 controlPlaneEndpoint(192.168.3.20:6443) 으로 무중단 전환 완료.
끝ㅌ
본 글에서 사용된 이미지와 예제는 이해를 돕기 위한 것이며, 실제 환경과 다를 수 있음.
또한 일부 내용에는 오타나 정보의 불완전함이 있을 수 있으니, 반드시 공식 문서 및 최신 자료를 참고하시기 바람.
AI 창작물이 아님.
'Tech' 카테고리의 다른 글
| 나만의 쿠버네티스 관리 툴 만들기 (0) | 2025.09.18 |
|---|---|
| etcd 백업/복원 하기 (1) | 2025.09.11 |
| HA kubernetes cluster 구성 프로젝트 3 (0) | 2025.09.03 |
| HA kubernetes cluster 구성 프로젝트 2 (1) | 2025.09.02 |
| HA kubernetes cluster 구성 프로젝트 1 (1) | 2025.09.01 |