Rancher安装时自动的 Updating TLS secret for cattle-system/serving-cert 操作如何确认已经完成

Rancher Server 设置

  • Rancher 版本:V2.7.5
  • 安装选项 (Docker install/Helm Chart):
    • 是 Helm Chart 安装,Local 集群的RKE1类型 rke version v1.4.6:
  • 在线部署:

问题描述:
我在安装v2.6+版本的rancher时,rancher的pod日志里面会有类似证书更新的记录,

2023/10/17 11:11:52 [INFO] Updating TLS secret for cattle-system/serving-cert (count: 8): map[field.cattle.io/projectId:local:p-gzrg9 listener.cattle.io/cn-10.42.0.5:10.42.0.5 listener.cattle.io/cn-10.42.1.5:10.42.1.5 listener.cattle.io/cn-10.42.2.6:10.42.2.6 listener.cattle.io/cn-127.0.0.1:127.0.0.1 listener.cattle.io/cn-localhost:localhost listener.cattle.io/cn-rancher.cattle-system:rancher.cattle-system listener.cattle.io/cn-wakecloud-rancher.wakedt.com:wakecloud-rancher.wakedt.com listener.cattle.io/fingerprint:SHA1=1215E1535DF73BC8B45BAADC6C2F828E7F0993F6]

我现在的问题是,除了通过查看rancher日志人为的来判断TLS证书是否更新完成了。还有没有其他办法可以通过证书状态,或者服务状态之类的来判断。因为我现在的需求是通过命令行脚本自动部署rancher整套套环境,包括下游集群以及创建项目。中途过程不能有人工介入。

kubectl get secret -n cattle-system serving-cert -o jsonpath='{.data.tls\.crt}' | base64 -d | openssl x509 -noout -text | grep Not

这个触发自动更新TLS secret 的机制是怎么样的知道吗? 这两天在更新部署脚本时发现,rancher安装完成后如果不从浏览器打开并登录rancher,好像就一直不会触发。即使使用curl命令通过接口获取登录token也不行。 还有没有其他办法可以触发rancher来自动更新TLS secret。

curl --insecure -sfL https://{server-url}/v3

将 {server-url} 替换为你的 rancher url