Rancher 2.4.x 官方文档之证书轮换
https://rancher2.docs.rancher.cn/docs/rancher2/cluster-admin/certificate-rotation/_index/
错误现象:
通过观察可以看到,很明显的有证书过期的字样,且6443端口是apiserver监听的位置,所以考虑是集群证书过期,接下来要进行验证。
rancher_server_id=<rancher_server_container_id>
docker exec -it ${rancher_server_id} /bin/bash
cd k3s/server/tls
## 查看所有证书文件的期限
for i in `ls *.crt` ;do openssl x509 -in $i -noout -dates;echo $i;done
如果在这一步中发现有输出中有notAfter标识的时间小于当前时间,那么就肯定是有证书过期了,需要实行证书轮换
如果这个时候你的Rancher 已经不能通过UI访问了,那说明你的Rancher Server已经不能正常工作了,需要修改当前时间让Rancher Server能够重新工作。
证书轮换:
注意,只适用于2.4+版本,如果是之前的版本,请去看官方文档。
kubectl --insecure-skip-tls-verify -n kube-system delete secrets k3s-serving
kubectl --insecure-skip-tls-verify delete secret serving-cert -n cattle-system
rm -f /var/lib/rancher/k3s/server/tls/dynamic-cert.json
docker restart ${rancher_server_id}
curl --insecure -sfL https://${server-url}/v3
docker restart ${rancher_server_id}
如果没出意外的话,这时候已经能够进入UI了,请按照官方教程在UI中进行手动证书轮换
注意,一旦出现如下所示的字样,那么说明你的轮换方式或许是错误的,请重新查看你的Rancher版本!
如果没有错误,请重新启动