Kubernetes 憑證更新:完整指南及最佳實踐

更新於 發佈於 閱讀時間約 6 分鐘

在 Kubernetes 集群運行一段時間後,憑證可能會過期,影響集群的正常運行。因此,管理員需要定期檢查並更新憑證。本文將介紹如何使用 kubeadm 手動更新 Kubernetes 憑證,並提供一些最佳實踐來確保更新過程順利。

Kubernetes 憑證有效期限與更新頻率

Kubernetes 預設的憑證有效期限為 1 年(365 天),因此建議在到期前進行更新,以確保集群正常運作。

可以使用以下指令檢查憑證到期時間:

kubeadm certs check-expiration
raw-image


手動更新 Kubernetes 憑證

可以使用 kubeadm certs renew 命令來手動更新 Kubernetes 的憑證。此命令會使用 CA(或者 front-proxy-CA)憑證來更新存儲於 /etc/kubernetes/pki 中的密鑰。

更新所有憑證

執行以下指令來更新所有憑證:

raw-image

執行完此命令後,你會看到類似以下的輸出:

[root@k8s-master1 kubernetes]# kubeadm certs renew all
[renew] Reading configuration from the cluster...
[renew] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
W0411 18:39:49.556478 1094 utils.go:69] The recommended value for "clusterDNS" in "KubeletConfiguration" is: [10.233.0.10]; the provided value is: [169.254.25.10]

certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed
certificate for serving the Kubernetes API renewed
certificate for the API server to connect to kubelet renewed
certificate embedded in the kubeconfig file for the controller manager to use renewed
certificate for the front proxy client renewed
certificate embedded in the kubeconfig file for the scheduler manager to use renewed

Done renewing certificates. You must restart the kube-apiserver, kube-controller-manager, kube-scheduler and etcd, so that they can use the new certificates.

重新啟動 Kubernetes 相關組件

由於動態憑證重載目前尚未完全支援所有組件,因此在更新憑證後,必須手動重啟 Kubernetes 的關鍵元件。

重新啟動 API Server、Scheduler 和 Controller Manager

Kubernetes 控制平面的關鍵元件(kube-apiserverkube-schedulerkube-controller-manager)通常運行於 Docker 容器中,因此可以使用以下指令來重啟這些元件:

docker ps |grep apiserver|grep -v pause|awk '{print $1}'|xargs docker kill -s HUP
docker ps |grep kube-scheduler|grep -v pause|awk '{print $1}'|xargs docker kill -s HUP
docker ps |grep kube-controller|grep -v pause|awk '{print $1}'|xargs docker kill -s HUP

這些指令會發送 HUP 訊號,強制這些容器重新載入配置和憑證。如果你使用的是 containerd 或其他容器運行時,請使用對應的命令來重啟這些組件。

重新啟動 kubelet

由於靜態 Pods 由 kubelet 而非 API Server 管理,因此 kubectl 無法直接刪除或重啟這些 Pods。

可以使用 systemctl 重新啟動 kubelet,讓其自動載入新的憑證:

systemctl restart kubelet

最佳實踐與建議

  1. 定期檢查憑證:建議設置定時任務(如 cronjob)來執行 kubeadm certs check-expiration,以確保不會因憑證過期導致服務中斷。
  2. 提前備份憑證與配置:在進行憑證更新前,先備份 /etc/kubernetes/pki//etc/kubernetes/admin.conf 以避免意外情況發生。
  3. 測試更新流程:在非正式環境先測試更新流程,確保所有應用與監控系統正常運作後,再在正式環境執行。
  4. 監控 Kubernetes 組件狀態:可以使用 kubectl get pods -n kube-system 來確認所有組件在更新後都正常運行。

總結

透過 kubeadm certs renew 命令,可以輕鬆更新 Kubernetes 的憑證,但要注意手動重啟相關組件以確保變更生效。為了避免集群因憑證過期而發生故障,建議定期檢查憑證狀態,並制定更新計劃,以確保系統穩定運行。

如果這篇Kubernetes 憑證的更新能幫助到你請留言告訴我,或與我分享你的使用經驗


留言
avatar-img
留言分享你的想法!
avatar-img
小猴工程師
1會員
23內容數
小猴工程師的其他內容
2025/04/15
這篇文章提供教學,如何使用 Python 和 Pandas 函式庫將 Elasticsearch 的 JSON 資料(透過 Elasticdump 匯出)轉換成 Excel 可讀取且支援繁體中文的 CSV 檔案,並解決常見的中文編碼問題。
2025/04/15
這篇文章提供教學,如何使用 Python 和 Pandas 函式庫將 Elasticsearch 的 JSON 資料(透過 Elasticdump 匯出)轉換成 Excel 可讀取且支援繁體中文的 CSV 檔案,並解決常見的中文編碼問題。
2025/03/25
演算法是解決問題的系統性流程,廣泛應用於各領域,如廚師的食譜、音樂家的樂譜和程式設計師的程式碼。河內塔問題是經典的遞迴演算法示例,透過觀察、數學建模與遞推關係,揭示演算法設計的核心思維。掌握這些技巧有助於拆解複雜問題並找到最佳解法。如果你對演算法有興趣,歡迎留言交流!
Thumbnail
2025/03/25
演算法是解決問題的系統性流程,廣泛應用於各領域,如廚師的食譜、音樂家的樂譜和程式設計師的程式碼。河內塔問題是經典的遞迴演算法示例,透過觀察、數學建模與遞推關係,揭示演算法設計的核心思維。掌握這些技巧有助於拆解複雜問題並找到最佳解法。如果你對演算法有興趣,歡迎留言交流!
Thumbnail
2025/03/21
本文介紹 VB.NET 的 If...Else 和 Select Case 條件判斷結構,包含語法、範例及適用情境。If...Else 適合多變數與複雜邏輯,Select Case 則適用於單一變數的多值判斷,語法簡潔且效能較佳。文章並比較其效能、靈活性與可讀性,幫助選擇最佳控制結構。
Thumbnail
2025/03/21
本文介紹 VB.NET 的 If...Else 和 Select Case 條件判斷結構,包含語法、範例及適用情境。If...Else 適合多變數與複雜邏輯,Select Case 則適用於單一變數的多值判斷,語法簡潔且效能較佳。文章並比較其效能、靈活性與可讀性,幫助選擇最佳控制結構。
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
這篇文章將提供一個完整的Kubernetes安裝指南,包括控制平面節點和工作節點的安裝過程。文章中還會提及一些參考資料和解決常見錯誤的方法。
Thumbnail
這篇文章將提供一個完整的Kubernetes安裝指南,包括控制平面節點和工作節點的安裝過程。文章中還會提及一些參考資料和解決常見錯誤的方法。
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
在實際生產中,容器化技術開始走向「容器編排技術」,如:Kubernetes。因為Docker無法獨立支撐大規模容器化部署。 Kubernetes起源於Borg系統,所以在大規模的叢集管理,優於其他容器編排技術。它提供拉取映像檔、拉取執行容器、路由閘道、水平擴充、監控和備份等,除外還可以自動化處理容
Thumbnail
在實際生產中,容器化技術開始走向「容器編排技術」,如:Kubernetes。因為Docker無法獨立支撐大規模容器化部署。 Kubernetes起源於Borg系統,所以在大規模的叢集管理,優於其他容器編排技術。它提供拉取映像檔、拉取執行容器、路由閘道、水平擴充、監控和備份等,除外還可以自動化處理容
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本文將探討Kubernetes內部DNS解析的相關流程,並介紹如何利用DNS來找到服務。透過瞭解DNS的工作原理,可以讓應用服務的問題處理更有效率,並提供基本測試與結論。
Thumbnail
本文將探討Kubernetes內部DNS解析的相關流程,並介紹如何利用DNS來找到服務。透過瞭解DNS的工作原理,可以讓應用服務的問題處理更有效率,並提供基本測試與結論。
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
本文將演示在安裝完 Kubernetes Cluster 後的基本元件安裝,包括 Calico/Calicoctl、Metric Server 和 Dashboard UI 的安裝方法以及相關問題與解決方式。
Thumbnail
本文將演示在安裝完 Kubernetes Cluster 後的基本元件安裝,包括 Calico/Calicoctl、Metric Server 和 Dashboard UI 的安裝方法以及相關問題與解決方式。
Thumbnail
這篇文章教你如何搭建Kubernetes Cluster,包括節點安裝前設定、軟體套件安裝、Control-Plane部署和加入運算節點等步驟。在建置之後,作者會分享一些基礎服務的安裝。希望這篇文章對你有所幫助。
Thumbnail
這篇文章教你如何搭建Kubernetes Cluster,包括節點安裝前設定、軟體套件安裝、Control-Plane部署和加入運算節點等步驟。在建置之後,作者會分享一些基礎服務的安裝。希望這篇文章對你有所幫助。
Thumbnail
本文章將說明如果您想要從頭建置一組具有Loadbalancer HA架構的Kubernetes Cluster時,你可能會需要做的事前準備工作。
Thumbnail
本文章將說明如果您想要從頭建置一組具有Loadbalancer HA架構的Kubernetes Cluster時,你可能會需要做的事前準備工作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News