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
注:附件中有这个脚本

浙公网安备 33010602011771号