Kubernetes之证书过期问题

1.  问题现象

    执行kubectl get nodes命令时,出现报错:Unable to connect to the server: x509: certificate has expired or is not yet valid

2.  查看k8s证书过期时间

    1.  查看所有证书过期时间

        kubeadm alpha certs check-expiration

        

    2.  单独看某个证书的过期时间

        openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not

    3.  k8s各个证书过期时间       

/etc/kubernetes/pki/apiserver.crt           #1年有效期
/etc/kubernetes/pki/front-proxy-ca.crt        #10年有效期
/etc/kubernetes/pki/ca.crt              #10年有效期
/etc/kubernetes/pki/apiserver-etcd-client.crt    #1年有效期
/etc/kubernetes/pki/front-proxy-client.crt      #1年有效期
/etc/kubernetes/pki/etcd/server.crt         #1年有效期
/etc/kubernetes/pki/etcd/ca.crt           #10年有效期
/etc/kubernetes/pki/etcd/peer.crt          #1年有效期
/etc/kubernetes/pki/etcd/healthcheck-client.crt  #1年有效期
/etc/kubernetes/pki/apiserver-kubelet-client.crt  #1年有效期

3.  证书已经过期的解决方法  

    1.  下载一个文件update-kubeadm-cert.sh

    2.  把这个文件上传至k8s的master节点

    3.  授予这个文件可执行权限

    4.  执行命令: ./update-kubeadm-cert.sh all

    5.  如果是单个证书,执行命令: ./update-kubeadm-cert.sh etcd

4.  证书还没过期需要后延一年的解决方法

    1.  备份证书目录

        mkdir /backups && cp -r /etc/kubernetes/pki /backups/

    2.  生成配置文件

        kubeadm config view > /backups/cluster.yaml

    3.  更新所有证书

        kubeadm alpha certs renew all

    4.  查看所有证书过期

        kubeadm alpha certs check-expiration

注:附件中有这个脚本

                                    

posted @ 2022-07-14 16:43  奋斗史  阅读(575)  评论(0)    收藏  举报