Kubernetes/K8s

[K8s] Controler-node ip가 변경될 경우

lumination 2025. 6. 18. 12:16

1. /etc/kubernetes/manifest 아이피 변경

/etc/kubernetes/manifest 하위 대상

cd /etc/kubernetes/manifest
sudo find . -type f -exec sed -i 's/192.168.137.30/192.168.56.30/g' {} +

2. 인증서 재생성

기존 X.509 인증서 중 재생성이 필요한 인증서를 지운 후 재생성

출처: https://github.com/kubernetes/kubeadm/issues/338?ref=jangho.io#issuecomment-407383077

cd /etc/kubernetes/pki

# apiserver 인증서 삭제
sudo rm apiserver.{crt,key}

  # a. Default CIDR이 10.96.0.0/12 로 할 경우
  sudo kubeadm init phase certs apiserver

  # b. service-cidr, domain이 있는 경우
  sudo kubeadm init phase certs apiserver  --service-cidr '20.111.0.0/18' --service-dns-domain=test.local

# etcd 피어 인증서 삭제
sudo rm etcd/peer.{crt,key}
sudo kubeadm init phase certs etcd-peer

# etcd 서버 인증서 삭제
sudo rm etcd/server.{crt,key}
sudo kubeadm init phase certs etcd-server

 

etcd, apiserver restart (manifest에서 yaml 파일 제외하여 제거 후 다시 yaml 파일 넣기)

systemctl restart kubelet

3. kubeConfig  아이피 변경

~/.kube/config 의 cluster server 변경 필요

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: 
    server: https://192.168.56.30:6443

4. configMap 점검

쿠버네티스 내부 ConfigMap 기존 IP 있는지 조회

kubectl get cm -A -o yaml | grep 192.168.56.30