Rancher 轮换证书 和 Rancher 自身证书过期处理

Posted catoop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rancher 轮换证书 和 Rancher 自身证书过期处理相关的知识,希望对你有一定的参考价值。

概述

本文所述 “证书” 分为 “Rancher 自身证书” 和 “Rancher 启动的 Kubernetes 的证书” 两种。

默认情况下,Kubernetes 集群所需要的证书由 Rancher 生成,如果出现证书过期,或证书泄露等情况,则需要使用新的证书轮换掉有问题的证书。轮换证书后,Kubernetes 组件将自动重新启动。

以下服务支持证书轮换:

  • etcd
  • kubelet
  • kube-apiserver
  • kube-proxy
  • kube-scheduler
  • kube-controller-manager

警告:轮换 Kubernetes 证书可能会导致集群在重新启动组件时暂时不可用。对于生产环境,建议在维护时段内执行此操作。

为 K8s 轮换证书

通过 Rancher 启动的 Kubernetes 集群(RKE 集群)能够通过 UI 轮换自动生成的证书。

在全局视图中,导航到要轮换证书的集群》选择省略号(…)》 轮换证书》选择要轮换的证书。

  • 轮换所有服务证书(保持相同的 CA)
  • 轮换单个服务,然后从下拉菜单中选择一项服务

最后单击保存。

结果:所选证书将被轮换,相关服务将重新启动以开始使用新证书。

注意: 尽管 RKE CLI 可以为 Kubernetes 集群组件使用自定义证书,但目前 Rancher 不支持在 Rancher UI 中创建 RKE 集群时上传这些证书。

因为证书改变,相应的token也会变化,所以在完成集群证书更新后,需要对连接API SERVER的 Pod 进行重建,以获取新的token,否则会出现服务启动失败的情况(日志会显示 token 错误等类似信息,有的服务可能不会显示,请跟进实际情况处理)。

  • cattle-system/cattle-cluster-agent
  • cattle-system/cattle-node-agent
  • cattle-system/kube-api-auth ingress-nginx/nginx-ingress-controller
  • kube-system/canal kube-system/kube-dns
  • kube-system/kube-dns-autoscaler
  • 其他应用 Pod

独立容器 Rancher 证书过期

正常情况下,Rancher 需要和 K8s 集群交互,K8s 集群中有 agent 需要和 Rancher 通讯,如果 Rancher 自身的证书已经过期,则会出现无法通讯的情况,在 UI 上体现的症状就是 k8s 集群出现错误提示无法被管理。

官方文档说:对于 v2.2.2+ 以后的 Rancher 它会自动检查证书有效期,如果发现证书即将过期,将会自动生成新的证书。

不巧的是我独立容器运行的 Rancher 并没有自动为我更新证书,所以出现了错误,这里特别说一下证书已经过期后的处理方法。

1、将服务器的时间往后调,调到证书有效期之内。
2、docker exec 进入 rancher 容器,然后执行如下命令。

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

3、退出 docker 容器命令行,重启 rancher 容器 docker restart <rancher_server_id>
4、执行命令刷新参数 curl --insecure -sfL https://server-url/v3
5、再重启 rancher 容器 docker restart <rancher_server_id>
6、恢复并校准服务器时间。

官方文档: https://docs.rancher.cn/docs/rancher2/trending-topics/certificate-rotation/_index/


(END)

以上是关于Rancher 轮换证书 和 Rancher 自身证书过期处理的主要内容,如果未能解决你的问题,请参考以下文章

Rancher证书更新

Rancher证书更新

Rancher证书更新

Rancher中httpd证书的管理和使用

rancher导入集群时证书报错

rancher导入集群时证书报错