主页 > imtoken官网最新版 > Kubernetes集群证书过期解决方案
Kubernetes集群证书过期解决方案
问题现象
K8S集群证书过期后无法创建Pod,无法通过kubectl get nodes获取信息etc有效期怎么查询,甚至无法访问dashboard。
1.确认K8S证书过期时间
查看一个k8s证书的过期时间:
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not
显示如下,从下面可以看出证书的有效期为1年,从2021年到2022年:
其他证书也是如此。 每个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年有效期
或者使用统一命令查看
kubeadm alpha certs check-expiration
2.使用延长证书有效期的方法解决K8S证书过期问题
K8S过期前,在kubeadm alpha阶段使用certs和kubeconfig命令,配合kubelet证书自动轮转机制解决这个问题(具体操作可以百度搜索),这里是证书过期的解决方法,以及以下方法延长证书有效期适用于kubernetes1.14、1.15、1.16、1.17、1.18版本。 操作步骤如下:
2.1 下载update-kubeadm-cert.sh
百度网盘下载:
关联:
提取码:f6sa
2.2 将update-kubeadm-cert.sh文件上传到各个k8s节点任意位置 2.3 执行以下命令 1)为update-kubeadm-cert.sh证书授权可执行权限
chmod +x update-kubeadm-cert.sh
2)执行以下命令修改证书过期时间,延长时间为10年
./update-kubeadm-cert.sh all
3)在master节点上查询Pod是否正常,可以查询到数据表明证书已经颁发
注意:执行命令时,需要断开重连命令才能生效
kubectl get pods -n kube-system
显示如下,可以看到pod信息,说明证书颁发正常:
4) 重启kubelet
systemctl restart kubelet
3.验证证书有效期是否延长至10年
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not
显示如下。 从下面可以看出apiserver证书的有效期为10年,从2021年到2031年:
其他证书用同样的方法验证etc有效期怎么查询,或者使用统一查看命令
kubeadm alpha certs check-expiration