Kubernetes集群通常使用ssl证书来加密通信,农场主会自动为集群生成证书,在牧场主v2.0.14 v2.1.9之前的版本,牧场主配置集群的自动生成证书的有效期为1年,这意味着如果您在大约1年前使用这些版本创建了牧场主配置集群,那么您需要尽快开始轮换证书,否则证书过期后集群将进入错误状态。轮换证书是一次性操作,新生成的证书有效期为10年。
本文将为您详细介绍如何进行轮换证书的操作。即使您的证书现在已经过期,您也可以依照以下步骤进行证书的轮换。但请注意先不要升级牧场主服务器,根据本文最后一节【证书已过期导致无法连接k8】进行处理。
引用>在重新启动组件时,轮换Kubernetes证书可能会导致您的群集暂时不可用。此外,对于生产环境,建议在维护窗口期间执行此操作。
通过UI轮换证书(业务集群)
注:可用版本牧场主v2.2.0 +
在牧场主v2.2.0以及更高版本,可通过UI的证书轮换功能对集群证书进行更新,此功能适用于【自定义安装的集群】。
证书轮换之后,Kubernetes组件将自动重新启动,重启不影响应用,重启时间需要3到5分钟。
证书轮换可用于下列服务:
<李>
etcd
李> <李>kubelet
李> <李>kube-apiserver
李> <李>kube-proxy
李> <李>kube-scheduler
李> <李>kube-controller-manager
李>
通过UI轮换证书,目前支持:
<李>
批量更新所有服务证书(CA证书不变)
李> <李>更新某个指定服务(CA证书不变)
李>
如果牧场主版本是从v2.x.x升级到2.2。x,则需要先做一次操作。
1、进入【全局\集群视图】;
2、选择【目标集群】右侧的【省略号菜单】,选择升级;
3、点击右侧【显示高级选项】,检查【Etcd快照轮换】功能是否开启,建议开启此功能;
4、在【授权集群访问地址】中,检查功能是否已开启,建议开始此功能,下边的域名可以不用填写;
5、最后点击【保存】,集群将自动进行更新
1、进入【全局\集群视图】;
2、选择对应集群右侧的【省略号菜单】,选择更新证书有效期;
3、选择更新所有服务证书,并点击保存
4、集群将自动更新证书
5、因为证书改变,相应的token也会变化,在集群证书更新完成后,需要对连接API SERVER的Pod进行重建,以获取新的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
通过UI API轮换证书(业务集群)
注:可用版本 Rancher v2.0.14+ v2.1.9+
对于Rancher v2.0.14、v2.1.9以及更高版本,可通过API对集群证书进行更新。API证书轮换将会同时对所有组件证书进行更新,不支持指定组件更新证书。
1、在【全局】视图中,定位到需要更新证书的集群,然后点击右侧省略号菜单,然后点击【API查看】。
重要提醒|手动轮换牧场主Kubernetes集群的证书