美文网首页Kubernetes
Kubernetes集群证书更新

Kubernetes集群证书更新

作者: 王勇1024 | 来源:发表于2020-12-24 18:30 被阅读0次

    使用 kubeadm 安装 kubernetes 集群非常方便,但是也有一个比较烦人的问题就是默认的证书有效期只有一年时间,所以需要考虑证书升级的问题,本文的演示集群版本为 v1.13.1 版本,不保证下面的操作对其他版本也适用,在操作之前一定要先对证书目录进行备份,防止操作错误进行回滚。

    1.查看证书有效期

    $ openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '
                Not Before: Feb 13 19:17:50 2020 GMT
                Not After : Feb 12 19:17:50 2021 GMT
    

    1.15及以上版本可以使用下面的命令查看证书有效期:

    kubeadm alpha certs check-expiration
    

    2.备份证书和etcd数据

    mkdir /etc/kubernetes.bak
    cp -r /etc/kubernetes/* /etc/kubernetes.bak
    cp -r /var/lib/etcd /var/lib/etcd.bak
    

    3.更新证书
    注意:kubeadm.conf 中 controlPlaneEndpoint 需配置为leader的节点ip+apiserver 端口号。

    kubeadm alpha certs renew all --config=kubeadm.conf
    $ sudo kubeadm init phase kubeconfig all --config kubeadm.conf
    [kubeconfig] Using kubeconfig folder "/etc/kubernetes"
    [kubeconfig] Using existing up-to-date kubeconfig file: "/etc/kubernetes/admin.conf"
    [kubeconfig] Using existing up-to-date kubeconfig file: "/etc/kubernetes/kubelet.conf"
    [kubeconfig] Using existing up-to-date kubeconfig file: "/etc/kubernetes/controller-manager.conf"
    [kubeconfig] Using existing up-to-date kubeconfig file: "/etc/kubernetes/scheduler.conf"
    

    4.更新kubeconfig文件

    cp $HOME/.kube/config $HOME/.kube/config.old
    cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    chown $(id -u):$(id -g) $HOME/.kube/config
    

    完成后重启 kube-apiserver、kube-controller、kube-scheduler、etcd 这4个容器即可,我们可以查看 apiserver 的证书的有效期来验证是否更新成功:

    $ echo | openssl s_client -showcerts -connect 127.0.0.1:6443 -servername api 2>/dev/null | openssl x509 -noout -enddate
    notAfter=Dec 24 10:03:04 2021 GMT
    

    可以看到现在的有效期是一年过后的,证明已经更新成功了。
    如果有多个master节点,分别在各个master上执行上述操作即可。

    相关文章

      网友评论

        本文标题:Kubernetes集群证书更新

        本文链接:https://www.haomeiwen.com/subject/xlzmnktx.html