carer
1
Rancher Server 设置
- Rancher 版本:2.5.5
- 安装选项 (Docker install/Helm Chart): Docker install
下游集群信息
- Kubernetes 版本: 1.20.4
- Cluster Type (Local/Downstream): Downstream-导入
**问题描述:今天访问rancher-ui发现无法访问,通过docker的ps进程发现docker处于运行状态,通过docker logs日志分析看到是由于证书过期导致的问题,于是考虑通过网上的方案进行证书升级
重现步骤:
#进入容器
docker exec -it 86df42d792cf bash
#按步骤删除证书
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容器
exit
#重启后继续进入容器执行相关命令
docker exec -it 86df42d792cf bash
#看系统日志显示的是6443端口,故使用此端口
curl --insecure -sfL https://localhost:6443/v3
结果:
rancher-ui能访问了,但是对应的集群发现状态变为了Unavailable
同时无法通过rancher-ui创建新的集群,并报异常
截图:
#愿导入集群报不可用
#新建集群报错
其他上下文信息:
日志
1 个赞
ksd
2
localhost 要换成 rancher server 的 ip 地址
carer
3
我容器内是443,映射的主机端口是9443 ,那这里我执行的应该是
curl --insecure -sfL https://localhost:443/v3
对么?
carer
4
curl --insecure -sfL https://localhost:443/v3
执行了这个语句服务依旧Unavailable
ksd
5
那你的agent是通过localhost去链接的???
你还是替换成对应的ip和端口试试
carer
7
就进入容器
curl --insecure -sfL https://localhost:443/v3
carer
11
curl --insecure -sfL https://localhost:443/v3
我的是单节点,从docker容器进去执行这一段话,然后就耐心的等等,然后就好了
carer
12
通过官网地址:如何为 Rancher 轮换证书? | Rancher文档
独立容器 Rancher Server 证书更新
这里操作,进入容器操作完上述步骤后,执行
curl --insecure -sfL https://localhost:443/v3
退出容器重启容器后,登录rancher的管理台
不要着急,喝杯水,等一等,然后就好了。
timedatectl set-ntp true/false
date -s “2021-12-01 00:00:00”
#容器里删
#k3s-serving
kubectl --insecure-skip-tls-verify -n kube-system delete secrets k3s-serving
#cattle-system
kubectl --insecure-skip-tls-verify delete secret serving-cert -n cattle-system
kubectl --insecure-skip-tls-verify delete secret cattle-webhook-tls -n cattle-system
#重启
docker restart 1
curl --insecure -sfL https://xxx.com/v3
#在容器里也执行过 curl --insecure -sfL https://localhost:443/v3、 curl --insecure -sfL https://127.0.0.1:443/v3、curl --insecure -sfL https://xx.com:443/v3
#再重启
docker restart 1
最后的结果是k3s-serving是可以生成,其他几个证书没有生成。
carer
17
先确定rancher对应版本是2.5.5吧
我这个情况是证书到期后rancher控制台打不开,然后去教程里找的相应操作执行的,一开始执行使用的端口有问题,但是这样的操作不影响rancher控制台的使用,后面发现原本加入的集群状态都不可用,所以才继续寻找的解决方案,执行了相关的操作。这期间我发现了原集群(现不可用状态集群)agent 节点不可用,又执行了重启agent 节点的操作,然后等待一会儿就可以了。
你那边目前是哪里出现了问题呢,也可以通过docker日志看看