这篇文章主要介绍“Rancher 2.3手动轮换证书的方法是什么”,在日常操作中,相信很多人在Rancher 2.3手动轮换证书的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Rancher 2.3手动轮换证书的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联公司专注于企业全网营销推广、网站重做改版、渭南网站定制设计、自适应品牌网站建设、HTML5、商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为渭南等各大城市提供网站开发制作服务。
Rancher 2.3正式发布已经一年,第一批使用Rancher 2.3的用户可能会遇到Rancher Server证书过期,但是没有自动轮换的情况。这会导致Rancher Server无法启动,并且日志出现报错:
请注意:
Rancher Server无法启动不会影响下游集群,下游集群依然可以通过kubeconfig去操作。
请注意:
Rancher Server无法启动不会影响下游集群,下游集群依然可以通过kubeconfig去操作。
以上情况只会在docker run启动或使用小于k3s v1.19用作local集群的Rancher上才会发生。以上情况只会在
docker run
启动或使用小于k3s v1.19用作local集群的Rancher上才会发生。
为了让大家更好的理解这个问题,下面将以手动修改系统时间的形式来重现这个问题。
当前时间:2020年10月30日 星期五 10时37分59秒 CST
1、启动Rancher v2.3.1,并且添加下游集群,操作步骤可以参考官网:
https://docs.rancher.cn/docs/rancher2/installation/other-installation-methods/single-node-docker/_index/
https://docs.rancher.cn/docs/rancher2/cluster-provisioning/_index
2、启动Rancher 之后,从浏览器上查看到的过期时间:2021年10月30日 星期六 中国标准时间 10:29:35
3、查看Rancher Server容器内的K3s证书过期时间为 Oct 30 02:28:49 2021 GMT
root@rancher1:~# docker exec -it rancher_server_id bash root@25c228f6a4c8:/var/lib/rancher# for i in `ls /var/lib/rancher/k3s/server/tls/*.crt`; do echo $i; openssl x509 -enddate -noout -in $i; done /var/lib/rancher/k3s/server/tls/client-admin.crt notAfter=Oct 30 02:28:49 2021 GMT /var/lib/rancher/k3s/server/tls/client-auth-proxy.crt notAfter=Oct 30 02:28:49 2021 GMT /var/lib/rancher/k3s/server/tls/client-ca.crt notAfter=Oct 28 02:28:49 2030 GMT /var/lib/rancher/k3s/server/tls/client-controller.crt notAfter=Oct 30 02:28:49 2021 GMT /var/lib/rancher/k3s/server/tls/client-kube-apiserver.crt notAfter=Oct 30 02:28:49 2021 GMT /var/lib/rancher/k3s/server/tls/client-kube-proxy.crt notAfter=Oct 30 02:28:49 2021 GMT /var/lib/rancher/k3s/server/tls/client-scheduler.crt notAfter=Oct 30 02:28:49 2021 GMT /var/lib/rancher/k3s/server/tls/request-header-ca.crt notAfter=Oct 28 02:28:49 2030 GMT /var/lib/rancher/k3s/server/tls/server-ca.crt notAfter=Oct 28 02:28:49 2030 GMT /var/lib/rancher/k3s/server/tls/serving-kube-apiserver.crt notAfter=Oct 30 02:28:49 2021 GMT
4、将服务器时间调整为证书过期后5天的日期,比如:20211105
root@rancher1:~# timedatectl set-ntp no root@rancher1:~# date -s 20211105 Fri Nov 5 00:00:00 CST 2021 root@rancher1:~# date Fri Nov 5 00:00:00 CST 2021
此时,Rancher UI 已经无法访问:
并且Rancher 容器由于内置的K3s证书过期而不断重启。
以上现象是因为Rancher Server内置的K3s证书过期,导致K3s无法启动,从而导致Rancher Server容器无法启动。
为了可以继续操作Rancher Server容器,需要将系统时间调整到K3s证书过期之前。
root@rancher1:~# date -s 20211025 Mon Oct 25 00:00:00 CST 2021
如果启动Rancher时未加
--restart=unless-stopped
参数,需要手动启动Rancher Server。
接下来我们就可以进入到容器内手动删除K3s证书,然后重启Rancher,重启成功后将重新生成K3s证书。
root@rancher1:~# docker exec -it rancher_server_id bash root@25c228f6a4c8:/var/lib/rancher# rm -rf /var/lib/rancher/k3s/server/tls/*.crt root@25c228f6a4c8:/var/lib/rancher# exit exit root@rancher1:~# docker restart rancher_server_id
Rancher Server如果出现以下日志,那么需要再重启一次Rancher Server:
2021/10/24 16:01:00 [INFO] Waiting for server to become available: Get https://localhost:6443/version?timeout=30s: x509: certificate signed by unknown authority
1、将服务器时间再次调整为证书过期后5天的日期,比如:20211105
root@rancher1:~# date -s 20211105 Fri Nov 5 00:00:00 CST 2021
证书更新之后,我们需要确认K3s证书是否更新成功,还需要检查下游集群是否会有影响。
2、确认K3s证书已经更新
root@rancher1:~# docker exec -it rancher_server_id bash root@25c228f6a4c8:/var/lib/rancher# for i in `ls /var/lib/rancher/k3s/server/tls/*.crt`; do echo $i; openssl x509 -enddate -noout -in $i; done /var/lib/rancher/k3s/server/tls/client-admin.crt notAfter=Oct 24 16:00:54 2022 GMT /var/lib/rancher/k3s/server/tls/client-auth-proxy.crt notAfter=Oct 24 16:00:54 2022 GMT /var/lib/rancher/k3s/server/tls/client-ca.crt notAfter=Oct 22 16:00:54 2031 GMT /var/lib/rancher/k3s/server/tls/client-controller.crt notAfter=Oct 24 16:00:54 2022 GMT /var/lib/rancher/k3s/server/tls/client-kube-apiserver.crt notAfter=Oct 24 16:00:54 2022 GMT /var/lib/rancher/k3s/server/tls/client-kube-proxy.crt notAfter=Oct 24 16:00:54 2022 GMT /var/lib/rancher/k3s/server/tls/client-scheduler.crt notAfter=Oct 24 16:00:54 2022 GMT /var/lib/rancher/k3s/server/tls/request-header-ca.crt notAfter=Oct 22 16:00:54 2031 GMT /var/lib/rancher/k3s/server/tls/server-ca.crt notAfter=Oct 22 16:00:54 2031 GMT /var/lib/rancher/k3s/server/tls/serving-kube-apiserver.crt notAfter=Oct 24 16:00:54 2022 GMT
K3s证书过期时间已经从Oct 30 02:28:49 2021 GMT
更新到了Oct 24 16:00:54 2022 GMT
3、确认浏览器证书已经更新
浏览器上的证书过期已经从2021年10月30日 星期六 中国标准时间 10:29:35
更新到了2022年10月25日 星期二 中国标准时间 00:01:34
4、确认下游集群不受影响
集群状态为Active
检查集群 Pod 的运行状况
到此,关于“Rancher 2.3手动轮换证书的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!