# 停止 Rancher 容器
docker stop rancher2
# 安装 etcd
https://guoyk93-generic.pkg.coding.net/acicn-mirror/generic/9889e169-etcd-v3.4.3-linux-amd64.tar.gz
# 找到 Rancher 在主机上映射的持久化目录
/data/rancher2-data/
# 删除 Rancher 持久化目录中的 tls 目录
rm -rf k3s/server/tls
# 启动独立的 etcd 服务
etcd --data-dir=management-state/etcd
# 删除 etcd 内存储的 k3s-serving 证书
export ETCDCTL_API=3
etcdctl del /registry/secrets/kube-system/k3s-serving
# 删除 Rancher 容器,参考以下命令启动一个新的容器,使用可信证书
docker run -d \
--privileged \
--name rancher2 \
--restart=unless-stopped \
-p 8090:80 -p 8091:443 \
-e AUDIT_LEVEL=1 \
-v /data/rancher2-auditlog:/var/log/auditlog \
-v /data/rancher2-data:/var/lib/rancher \
-v /root/.acme.sh/xxx.example.com/fullchain.cer:/etc/rancher/ssl/cert.pem \
-v /root/.acme.sh/xxx.example.com/ktest.pagoda.com.cn.key:/etc/rancher/ssl/key.pem \
rancher/rancher:v2.4.11 --no-cacerts
# 在新容器内恢复 /etc/rancher/k3s/k3s.yaml 否则会一直报错等待 k3s 启动
docker exec -ti rancher2 /bin/bash
mkdir -p /etc/rancher/k3s
cd /etc/rancher/k3s
cp /var/lib/rancher/k3s/server/cred/admin.kubeconfig ./k3s.yaml
# 在 kubernetes 集群内部,修复 cattle-system 命名空间下的 Rancher 组件证书配置信息
修复 Rancher 2.5.x 内部证书过期导致无法启动的顽疾
于 2022-04-28 10:21:40 首次发布
本文详细介绍了如何修复Rancher 2.5.x版本中内部证书过期导致的服务无法启动的问题,针对Kubernetes和Linux环境提供了有效的解决方案。
摘要由CSDN通过智能技术生成