zoukankan      html  css  js  c++  java
  • Kubernetes 高可用集群修改 Master IP 地址的正确姿势

    经过实际验证的修改 master IP 地址的操作步骤,千真万确,错一罚十,kubernetes 版本是 v1.20.2。

    折腾过程中所走的弯路是有4个ssl证书(apiserver, apiserver-kubelet-client, front-proxy-client)没有重新生成,造成修改 IP 后 kubectl 命令可以正常执行但 master 总是处于 NotReady 状态。

    操作步骤如下:

    1)替换 /etc/kubernetes 中与 IP 地址关联的配置

    oldip=10.0.9.171
    newip=172.16.16.102
    cd /etc/kubernetes
    
    find . -type f | xargs grep $oldip
    find . -type f | xargs sed -i "s/$oldip/$newip/"
    find . -type f | xargs grep $newip
    

    2)修改 /etc/hosts 中涉及旧 IP 地址的解析(如果有)

    vim /etc/hosts
    %s/10.0.9.171/172.16.16.102
    

    3)修改集群配置与旧 IP 地址相关的配置(advertiseAddress)

    kubectl -n kube-system edit cm kubeadm-config 
    %s/10.0.1.81/10.0.9.171
    

    4)重新相关 ssl 证书

    4.1)重新生成 etcd-server 证书

    cd /etc/kubernetes/pki/etcd
    rm server.crt server.key
    kubeadm init phase certs etcd-server
    

    4.2)重新生成 apiserver 证书

    rm apiserver.crt apiserver.key
    kubeadm init phase certs apiserver --control-plane-endpoint "k8s-api:6443"
    

    4.3)重新生成 apiserver-kubelet-client 证书

    rm apiserver-kubelet-client.crt apiserver-kubelet-client.key
    kubeadm init phase certs apiserver-kubelet-client
    

    4.4)重新生成 front-proxy-client 证书

    rm front-proxy-client.crt front-proxy-client.key
    kubeadm init phase certs front-proxy-client
    

    5)重启 k8s 相关服务

    systemctl daemon-reload && systemctl restart kubelet && systemctl restart docker
    

    搞定!

    参考资料

  • 相关阅读:
    008 同步
    007 优雅的关闭线程
    006 线程中的join方法
    005 线程ID和线程的优先级
    004 后台线程
    003 Thread的构造
    群发 图片和语音失败原因是 ,返回 content是 null,
    状态,
    Shape Of My Heart
    转码 的状态,嘿嘿,小bug,少了一个 !
  • 原文地址:https://www.cnblogs.com/dudu/p/15022488.html
Copyright © 2011-2022 走看看