最近有些客户在使用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信息,说明证书签发正常
4)验证证书有效时间是否延长到10年
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text|grep Not
显示如下,通过下面可看到apiserver证书有效期是10年,从2020到2030
其他证书同理进行验证
K8S启动正常后测试服务实例是否正常,不正常可以手动重启gisapp服务节点即可恢复使用