更新证书后,rancher web-hook、fleet-controller、coredns 启动报错

Rancher Server 设置

  • Rancher 版本:2.5.8
  • 安装选项 (Docker install/Helm Chart): docker 单节点独立部署
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
  • 在线或离线部署:

下游集群信息

  • Kubernetes 版本: 1.19.12
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 导入集群

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):
    • 如果自定义,自定义权限集:管理员

**主机操作系统:centos 7.9

**问题描述:证书快到期手动更新,按照官网独立容器 Rancher Server 证书更新的方式操作

重现步骤:
刚开始没发现webhook有报错,以为正常,之后需要创建用户才发现报错

docker exec -it 26372e66b271 /bin/bash

cp -r k3s/server/tls k3s/server/tls_bak

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 -rf dynamic-cert.json
curl --insecure -sfL https://192.168.0.184/v3
quit

排查处理过程中还执行过的操作

kubectl delete secret -n cattle-system cattle-webhook-tls
kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io --ignore-not-found=true rancher.cattle.io
kubectl delete pod -n cattle-system -l app=rancher-webhook

quit

docker restart 26372e66b271

**结果:web-ui 其他操作正常,就是创建用户和权限变更会报错

预期结果:

截图:

其他上下文信息:

日志
webhook报错
![image|690x160](upload://5ysO5e9ChvwM1tkGlPeb2UEliIj.png)


coredns报错
![image|690x203](upload://a5ZHqQQSL0lNuk308I5EVFX2wdn.png)

fleet-controller报错
![image|690x237](upload://lkvdLy3M5aWio20vHj0psPbFN3I.png)


如果你确认已经执行了上面更新 webhook 证书的步骤的话,你可以查看下 webhook pod 的日志,判断为什么没有启动成功。

web-hook看不出来,一直在重启,报错只有一条
time=“2023-05-24T06:18:11Z” level=fatal msg=Unauthorized

补充下下图是rancher 容器的报错

kubectl delete secret -n cattle-system cattle-webhook-tls 这个执行了以后我看证书列表是没有这个证书了,请问下这个证书是重启自动生成的吗

对,正常来说重启 ranacher 容器之后会重新创建,建议你还是重新操作一次 webhook 证书的更新,然后重启 rancher server

这个应该是我部署rancher的时候自动生成的吧,重新操作重启试过了,没有用

我把tls目录恢复到替换之前,然后重新执行了一遍恢复了…

这……

大师, Rancher 什么版本解决的这个Bug ?

手动更新下就好了