摘要:輪換證書(shū)是一次性操作,新生成的證書(shū)有效期為年。其他應(yīng)用通過(guò)輪換證書(shū)業(yè)務(wù)集群注可用版本對(duì)于以及更高版本,可通過(guò)對(duì)集群證書(shū)進(jìn)行更新。
在Rancher 2.0和2.1中,Rancher配置集群的自動(dòng)生成證書(shū)的有效期為1年,本文將為您詳細(xì)介紹如何輪換證書(shū),即使您的證書(shū)已經(jīng)過(guò)期也可從文章中獲得具體的操作指南。
Kubernetes集群通常使用ssl證書(shū)來(lái)加密通信,Rancher會(huì)自動(dòng)為集群生成證書(shū)。在Rancher v2.0.14、v2.1.9之前的版本,Rancher配置集群的自動(dòng)生成證書(shū)的有效期為1年,這意味著如果您在大約1年前使用這些版本創(chuàng)建了Rancher配置集群,那么您需要盡快開(kāi)始輪換證書(shū),否則證書(shū)過(guò)期后集群將進(jìn)入錯(cuò)誤狀態(tài)。輪換證書(shū)是一次性操作,新生成的證書(shū)有效期為10年。
本文將為您詳細(xì)介紹如何進(jìn)行輪換證書(shū)的操作。即使您的證書(shū)現(xiàn)在已經(jīng)過(guò)期,您也可以依照以下步驟進(jìn)行證書(shū)的輪換。但請(qǐng)注意先不要升級(jí)rancher server,根據(jù)本文最后一節(jié)【證書(shū)已過(guò)期導(dǎo)致無(wú)法連接k8s】進(jìn)行處理。
注意
在重新啟動(dòng)組件時(shí),輪換Kubernetes證書(shū)可能會(huì)導(dǎo)致您的群集暫時(shí)不可用。此外,對(duì)于生產(chǎn)環(huán)境,建議在維護(hù)窗口期間執(zhí)行此操作。
通過(guò)UI輪換證書(shū)(業(yè)務(wù)集群)
注:可用版本 Rancher v2.2.0 +
在Rancher v2.2.0以及更高版本,可通過(guò)UI的證書(shū)輪換功能對(duì)集群證書(shū)進(jìn)行更新,此功能適用于【自定義安裝的集群】。
證書(shū)輪換之后,Kubernetes組件將自動(dòng)重新啟動(dòng),重啟不影響應(yīng)用Pod,重啟時(shí)間需要3到5分鐘。
證書(shū)輪換可用于下列服務(wù):
etcd
kubelet
kube-apiserver
kube-proxy
kube-scheduler
kube-controller-manager
通過(guò)UI輪換證書(shū),目前支持:
批量更新所有服務(wù)證書(shū)(CA證書(shū)不變)
更新某個(gè)指定服務(wù)(CA證書(shū)不變)
(重要)集群更新
如果Rancher版本是從v2.x.x升級(jí)到2.2.x,則需要先做一次集群更新操作。
1、進(jìn)入【全局集群視圖】;
2、選擇【目標(biāo)集群】右側(cè)的【省略號(hào)菜單】,選擇升級(jí);
3、點(diǎn)擊右側(cè)【顯示高級(jí)選項(xiàng)】,檢查【Etcd快照輪換】功能是否開(kāi)啟,建議開(kāi)啟此功能;
4、在【授權(quán)集群訪問(wèn)地址】中,檢查功能是否已開(kāi)啟,建議開(kāi)始此功能,下邊的域名可以不用填寫(xiě);
5、最后點(diǎn)擊【保存】,集群將自動(dòng)進(jìn)行更新
輪換證書(shū)
1、進(jìn)入【全局集群視圖】;
2、選擇對(duì)應(yīng)集群右側(cè)的【省略號(hào)菜單】,選擇更新證書(shū)有效期;
3、選擇更新所有服務(wù)證書(shū),并點(diǎn)擊保存
4、集群將自動(dòng)更新證書(shū)
5、因?yàn)樽C書(shū)改變,相應(yīng)的token也會(huì)變化,在集群證書(shū)更新完成后,需要對(duì)連接API SERVER的Pod進(jìn)行重建,以獲取新的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
其他應(yīng)用Pod
通過(guò)UI API輪換證書(shū)(業(yè)務(wù)集群)
注:可用版本 Rancher v2.0.14+ v2.1.9+
對(duì)于Rancher v2.0.14、v2.1.9以及更高版本,可通過(guò)API對(duì)集群證書(shū)進(jìn)行更新。API證書(shū)輪換將會(huì)同時(shí)對(duì)所有組件證書(shū)進(jìn)行更新,不支持指定組件更新證書(shū)。
1、在【全局】視圖中,定位到需要更新證書(shū)的集群,然后點(diǎn)擊右側(cè)省略號(hào)菜單,然后點(diǎn)擊【API查看】。
2、點(diǎn)擊右上方的RotateCertificates
3、點(diǎn)擊 Show Request
4、點(diǎn)擊 Send Request
5、因?yàn)樽C書(shū)改變,相應(yīng)的token也會(huì)變化,在集群證書(shū)更新完成后,需要對(duì)連接API SERVER的Pod進(jìn)行重建,以獲取新的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
其他應(yīng)用Pod
RKE 證書(shū)輪換(local集群和業(yè)務(wù)集群通用)
注:可用版本 rke v0.2.0+如果以前是通過(guò)rke v0.2.0之前的版本創(chuàng)建的Kubernetes集群,在輪換證書(shū)前先執(zhí)行rke up操作,請(qǐng)參考:https://www.cnrancher.com/doc...
通過(guò)RKE輪換證書(shū),目前支持:
批量更新所有服務(wù)證書(shū)(CA證書(shū)不變)
更新某個(gè)指定服務(wù)(CA證書(shū)不變)
輪換CA和所有服務(wù)證書(shū)
1、批量更新所有服務(wù)證書(shū)(CA證書(shū)不變)
2、更新指定服務(wù)(CA證書(shū)不變)
3、輪換CA和所有服務(wù)證書(shū)
rke cert rotate --rotate-ca INFO[0000] Initiating Kubernetes cluster INFO[0000] Rotating Kubernetes cluster certificates INFO[0000] [certificates] Generating CA kubernetes certificates INFO[0000] [certificates] Generating Kubernetes API server aggregation layer requestheader client CA certificates INFO[0000] [certificates] Generating Kubernetes API server certificates INFO[0000] [certificates] Generating Kube Controller certificates INFO[0000] [certificates] Generating Kube Scheduler certificates INFO[0000] [certificates] Generating Kube Proxy certificates INFO[0000] [certificates] Generating Node certificate INFO[0001] [certificates] Generating admin certificates and kubeconfig INFO[0001] [certificates] Generating Kubernetes API server proxy client certificates INFO[0001] [certificates] Generating etcd-xxxxx certificate and key INFO[0001] [certificates] Generating etcd-yyyyy certificate and key INFO[0001] [certificates] Generating etcd-zzzzz certificate and key INFO[0001] Successfully Deployed state file at [./cluster.rkestate] INFO[0001] Rebuilding Kubernetes cluster with rotated certificates
4、因?yàn)樽C書(shū)改變,相應(yīng)的token也會(huì)變化,在集群證書(shū)更新完成后,需要對(duì)連接API SERVER的Pod進(jìn)行重建,以獲取新的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
其他應(yīng)用Pod
獨(dú)立容器Rancher server證書(shū)更新
Rancher v2.0.14+ 、v2.1.9+、v2.2.0+會(huì)自動(dòng)檢查證書(shū)有效期,如果發(fā)現(xiàn)證書(shū)過(guò)期,將會(huì)自動(dòng)生成新的證書(shū)。所以獨(dú)立容器運(yùn)行的Rancher server只需把rancher版本升級(jí)到支持的版本,無(wú)需做其他操作。
故障處理
提示CA證書(shū)為空
如果執(zhí)行更新證書(shū)后出現(xiàn)如下錯(cuò)誤提示,因?yàn)闆](méi)有執(zhí)行集群更新操作。
解決方法
1、選擇對(duì)應(yīng)問(wèn)題集群,然后查看瀏覽器的集群ID,如下圖:
2、執(zhí)行命令 kubectl edit clusters
如果Rancher是HA安裝,直接在local集群中,通過(guò)rke生成的kube配置文件執(zhí)行以上命令;
如果Rancher是單容器運(yùn)行,通過(guò)docker exec -ti <容器ID> bash進(jìn)入容器中,然后執(zhí)行apt install vim -y安裝vim工具,然后再執(zhí)行以上命令;
3、刪除spec.rancherKubernetesEngineConfig.rotateCertificates層級(jí)下的配置參數(shù):
修改為
輸入:wq保存yaml文件后集群將自動(dòng)更新,更新完成后再進(jìn)行證書(shū)更新。
證書(shū)已過(guò)期導(dǎo)致無(wú)法連接K8S
如果集群證書(shū)已經(jīng)過(guò)期,那么即使升級(jí)到Rancher v2.0.14、v2.1.9以及更高版本也無(wú)法輪換證書(shū)。rancher是通過(guò)Agent去更新證書(shū),如果證書(shū)過(guò)期將無(wú)法與Agent連接。
解決方法
可以手動(dòng)設(shè)置節(jié)點(diǎn)的時(shí)間,把時(shí)間往后調(diào)整一些。因?yàn)锳gent只與K8S master和Rancher server通信,如果rancher server證書(shū)未過(guò)期,那就只需調(diào)整K8S master節(jié)點(diǎn)時(shí)間。
調(diào)整命令:
然后再對(duì)rancher server進(jìn)行升級(jí),接著按照證書(shū)輪換步驟進(jìn)行證書(shū)輪換,等到證書(shū)輪換完成后再把時(shí)間同步回來(lái)。
檢查證書(shū)有效期
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/33000.html
摘要:距離上一次版本發(fā)布三個(gè)月之隔,是今年的第三個(gè)主要版本。證書(shū)輪換證書(shū)輪換功能現(xiàn)已進(jìn)入狀態(tài)。這一功能可以在當(dāng)前證書(shū)到期時(shí)自動(dòng)續(xù)訂密鑰和服務(wù)器的證書(shū)。更多包含許多修復(fù)和內(nèi)部組件的改進(jìn),此次的更新明顯側(cè)重于穩(wěn)定核心以及使現(xiàn)有的功能成熟。 Kubernetes1.12已于今日全新發(fā)布!Kubelet證書(shū)輪換、資源配額優(yōu)先級(jí)、掛載命名空間、對(duì)Azure的增強(qiáng)支持等10大亮點(diǎn)功能,本文為你一一解讀!...
摘要:從開(kāi)始,部署管理的集群時(shí),默認(rèn)情況下會(huì)啟用授權(quán)群集端點(diǎn)功能。我們將首先在中創(chuàng)建一個(gè)新項(xiàng)目,該項(xiàng)目將使用功能與我們的集群集成。完成后單擊創(chuàng)建項(xiàng)目。這不僅意味著已被設(shè)為默認(rèn)值,還能夠觸發(fā)構(gòu)建。例如,負(fù)載均衡選項(xiàng)卡顯示已部署的以及創(chuàng)建的主機(jī)名。 介 紹 在這篇文章中,我們將介紹如何將GitLab的Auto DevOps功能與Rancher管理的Kubernetes集群連接起來(lái),利用Ranch...
摘要:部署只是一種規(guī)則,控制器組件會(huì)將這一規(guī)則應(yīng)用于實(shí)際負(fù)載均衡器中。原因是功能僅允許將端口用于路由,負(fù)載均衡器和則可作為全局啟動(dòng)。負(fù)載均衡的限制提供了功能豐富的負(fù)載均衡器支持詳細(xì)介紹在此。截至目前,我們暫時(shí)無(wú)法使用工具將負(fù)載均衡器配置從轉(zhuǎn)換為。 如果您的應(yīng)用程序是面向大量用戶、會(huì)吸引大量流量,那么一個(gè)不變的目標(biāo)一定是在高效滿足用戶需求的同時(shí)、不讓用戶感知到任何類似于服務(wù)器繁忙!的情況。這一...
摘要:近期,儀表盤(pán)和外部代理接連被發(fā)現(xiàn)存在安全問(wèn)題。本文將更深入解讀這兩個(gè)安全漏洞的原理會(huì)對(duì)您的部署造成的影響以及相應(yīng)的應(yīng)對(duì)之策。在中,儀表盤(pán)作為每個(gè)集群環(huán)境的一部分包含在內(nèi)但是,部署不受影響,因?yàn)槌洚?dāng)了儀表盤(pán)的身份驗(yàn)證授權(quán)和代理。 近期,Kubernetes儀表盤(pán)和外部IP代理接連被發(fā)現(xiàn)存在安全問(wèn)題。針對(duì)這兩個(gè)漏洞,Kubernetes發(fā)布了相應(yīng)的補(bǔ)丁版本供會(huì)受漏洞影響的用戶解決問(wèn)題。本文...
閱讀 946·2023-04-25 21:21
閱讀 3285·2021-11-24 09:39
閱讀 3136·2021-09-02 15:41
閱讀 2086·2021-08-26 14:13
閱讀 1890·2019-08-30 11:18
閱讀 2886·2019-08-29 16:25
閱讀 577·2019-08-28 18:27
閱讀 1655·2019-08-28 18:17