Rancher2.X如果使用rancher生成的证书创建,默认效期为1年,那么在证书过期之后,会出现访问不了控制台且节点连接不是控制节点。查看日志会发现是ssl证书过期。

解决办法有2种

临时让集群可用

只需修改服务器本地时间到证书有效期内即可

date -s "20220612 11:35:35"

更新证书

官方文档有多个版本的更新证书教程,这里我介绍一下2.4+版本的

  1. 进入rancher-server容器
docker exec -it 容器id /bin/sh
  1. 执行命令
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
  1. 重启容器
docker restart 容器id
  1. 执行api
curl --insecure -sfL https://集群链接/v3
  1. 再次重启容器
docker restart 容器id

image.png

可以看到证书有效期已更新