示例:我想要把开发环境k8s集群的controlPlaneEndpoint值由192.168.31.90:8443改为192.168.31.40:8443

1.先配置好haproxy的代理(参考haproxy

2.修改kubeadm的configmap

#添加controlPlaneEndpoint与certSANs字段并配置为VIP,修改完成后保存退出

kubectl-n kube-system edit cm kubeadm-config 

apiServer:
  certSANs:
  - 192.168.31.40
  extraArgs:
    authorization-mode: Node,RBAC
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
controlPlaneEndpoint: 192.168.31.40:8443

3.更新cluster-info

kubectl -n kube-public edit cm cluster-info
修改server: https://192.168.31.90:8443字段为server: https://192.168.31.40:8443

4.更新apiserver证书(参考修改apiserver证书

5.更新集群证书

kubeadm certs check-expiration
kubeadm certs renew all

6.修改kubelet配置文件

vi /etc/kubernetes/kubelet.conf
修改server: https://192.168.31.90:8443字段为server: https://192.168.31.40:8443

7.修改修改kube-proxy配置

kubectl -n kube-system edit cm kube-proxy
修改server: https://192.168.31.90:8443字段为server: https://192.168.31.40:8443
重启kube-proxy
for i in `kubectl -n kube-system get pod | grep kube-proxy| awk '{print $1}'`;do kubectl -n kube-system delete pod $i;done


  • No labels