K8S证书过期问题处理方法

最近有些客户在使用SuperMap iManager for K8S的过程中遇到服务无法访问,查看K8S的日志

Part of the existing bootstrap client certificate is expired: 2021-06-10 06:29:04 +0000 UT

这是说明k8s使用的证书过期了,k8s自带证书是一年的有效期。所以我们解决问题的办法就是更换证书。

以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本

下载所需的工具包

将下载的工具包解压后,把update-kubeadm-cert.sh文件上传到各个节点上

在每个节点上执行以下命令

1)给update-kubeadm-cert.sh证书授权可执行权限

chmod +x update-kubeadm-cert.sh

2)执行下面命令,修改证书过期时间,把时间延长到10年

./update-kubeadm-cert.sh all

3)在master节点查询Pod是否正常,能查询出数据说明证书签发完成

      注:执行命令时需要断开ssh连接,重新连接后命令才生效

kubectl get pods -n kube-system

显示如下,能够看到pod信息,说明证书签发正常

K8S证书过期问题处理方法

4)验证证书有效时间是否延长到10年

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

 显示如下,通过下面可看到apiserver证书有效期是10年,从2020到2030

K8S证书过期问题处理方法

其他证书同理进行验证

K8S启动正常后测试服务实例是否正常,不正常可以手动重启gisapp服务节点即可恢复使用

 

上一篇:react源码解析14.手写hooks


下一篇:biuld_ros.sh的执行编译