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
1會員
19內容數
留言
avatar-img
留言分享你的想法!
小猴工程師 的其他內容
LETSTOP 是一款結合社交互動與區塊鏈技術的創新平臺,透過獎勵機制鼓勵安全駕駛,並讓用戶在參與過程中賺取加密貨幣。平臺提供多元的功能,例如安全駕駛獎勵、推薦計畫、社群活動和應用內互動,讓用戶能透過不同的方式累積積分與 $STOP 代幣。
這篇文章提供 VB.NET 變數宣告、常用資料型別、運算子與運算式的教學,包含範例程式碼、型別轉換說明、常見錯誤與解決方法,以及實作題與進階題,適合初學者學習。
Dream to Earn 是一款結合睡眠追蹤與加密貨幣獎勵的 Web3 應用程式,讓使用者透過睡眠賺取 DREAM 代幣。文章探討其運作方式、潛在風險以及持續發展的可能性,並提供加入方式與邀請碼。
本文介紹XSS (跨站腳本攻擊) 的原理、ASP.NET Web Forms 應用程式中常見的漏洞、測試範例以及如何使用Server.HtmlEncode()函式來防止XSS攻擊。透過適當的輸入驗證和編碼,可以有效降低XSS攻擊風險,提升網站安全性。
這篇文章提供一個逐步指南,教導讀者如何使用VB.Net和ASP.NET Web Forms建立一個簡單的Web應用程式。從安裝開發環境到撰寫程式碼、執行與測試,步驟清晰易懂,適合初學者學習。
產前基因檢測已成為許多準父母關注的焦點,本文詳細說明染色體異常檢測(如NIPT、CMA)和單基因遺傳病檢測的差異、優缺點、以及不同風險族群的建議檢測方案,幫助準父母們更瞭解產前基因檢測,做出更適合自己的選擇。
LETSTOP 是一款結合社交互動與區塊鏈技術的創新平臺,透過獎勵機制鼓勵安全駕駛,並讓用戶在參與過程中賺取加密貨幣。平臺提供多元的功能,例如安全駕駛獎勵、推薦計畫、社群活動和應用內互動,讓用戶能透過不同的方式累積積分與 $STOP 代幣。
這篇文章提供 VB.NET 變數宣告、常用資料型別、運算子與運算式的教學,包含範例程式碼、型別轉換說明、常見錯誤與解決方法,以及實作題與進階題,適合初學者學習。
Dream to Earn 是一款結合睡眠追蹤與加密貨幣獎勵的 Web3 應用程式,讓使用者透過睡眠賺取 DREAM 代幣。文章探討其運作方式、潛在風險以及持續發展的可能性,並提供加入方式與邀請碼。
本文介紹XSS (跨站腳本攻擊) 的原理、ASP.NET Web Forms 應用程式中常見的漏洞、測試範例以及如何使用Server.HtmlEncode()函式來防止XSS攻擊。透過適當的輸入驗證和編碼,可以有效降低XSS攻擊風險,提升網站安全性。
這篇文章提供一個逐步指南,教導讀者如何使用VB.Net和ASP.NET Web Forms建立一個簡單的Web應用程式。從安裝開發環境到撰寫程式碼、執行與測試,步驟清晰易懂,適合初學者學習。
產前基因檢測已成為許多準父母關注的焦點,本文詳細說明染色體異常檢測(如NIPT、CMA)和單基因遺傳病檢測的差異、優缺點、以及不同風險族群的建議檢測方案,幫助準父母們更瞭解產前基因檢測,做出更適合自己的選擇。
本篇參與的主題活動
pixiv 發表 BOOTH 3D 虛擬物件交易白皮書 2025,去年平台上 3D 模型交易金額增加 187%,交易件數也翻倍。「今年很可能是行動虛擬角色元年!」pixiv 整合旗下 VRoid、BOOTH 資源,並發表 VEAT,進軍手機 app ,期望讓 3D avatar 擴散至更多平台。
這套寶可夢牌組以瑪沙耶、恰雷姆、利歐路和路卡利歐為核心,搭配瑪夏多和樹才怪,透過巧妙的組合和運氣,能在短時間內打出高傷害。本文詳細介紹牌組配置、核心戰術、優缺點分析和戰術提示,適合喜歡高風險高回報玩法的玩家。
身為一個崇尚極簡主義者,近期我也把身邊的包包精簡到三個,並且感受到包包斷捨離後的好處,一起來看我是如何實踐的吧!
我的得力助手T小姐在短時間內經歷了2次流產。 第一次流產後沒幾個月又急著要懷上,其實我還蠻不能理解的,身體都還沒復原、還沒查清楚流產的原因又急著懷孕真的風險太大。第二次也是在6周左右又流產了,這次終於好好的去醫院檢查原因,然後讓身體休息了近一年才又懷孕。 但是我聽了他上次流產的原因,是染色體異常
本文將為大家介紹一套以葉伊布GX為核心的水草混合治癒型控場牌組,適合喜歡持久戰的玩家。 目錄 牌組概述 核心卡片介紹 配套訓練家卡 能量配置策略 對戰技巧 常見對手應對 替換建議 牌組概述 這套牌組以葉伊布ex為核心,搭配水屬性能量與珠貝的治癒效果,打造一套難以擊倒的生存型牌
pixiv 發表 BOOTH 3D 虛擬物件交易白皮書 2025,去年平台上 3D 模型交易金額增加 187%,交易件數也翻倍。「今年很可能是行動虛擬角色元年!」pixiv 整合旗下 VRoid、BOOTH 資源,並發表 VEAT,進軍手機 app ,期望讓 3D avatar 擴散至更多平台。
這套寶可夢牌組以瑪沙耶、恰雷姆、利歐路和路卡利歐為核心,搭配瑪夏多和樹才怪,透過巧妙的組合和運氣,能在短時間內打出高傷害。本文詳細介紹牌組配置、核心戰術、優缺點分析和戰術提示,適合喜歡高風險高回報玩法的玩家。
身為一個崇尚極簡主義者,近期我也把身邊的包包精簡到三個,並且感受到包包斷捨離後的好處,一起來看我是如何實踐的吧!
我的得力助手T小姐在短時間內經歷了2次流產。 第一次流產後沒幾個月又急著要懷上,其實我還蠻不能理解的,身體都還沒復原、還沒查清楚流產的原因又急著懷孕真的風險太大。第二次也是在6周左右又流產了,這次終於好好的去醫院檢查原因,然後讓身體休息了近一年才又懷孕。 但是我聽了他上次流產的原因,是染色體異常
本文將為大家介紹一套以葉伊布GX為核心的水草混合治癒型控場牌組,適合喜歡持久戰的玩家。 目錄 牌組概述 核心卡片介紹 配套訓練家卡 能量配置策略 對戰技巧 常見對手應對 替換建議 牌組概述 這套牌組以葉伊布ex為核心,搭配水屬性能量與珠貝的治癒效果,打造一套難以擊倒的生存型牌
你可能也想看
Google News 追蹤
Thumbnail
這篇文章將提供一個完整的Kubernetes安裝指南,包括控制平面節點和工作節點的安裝過程。文章中還會提及一些參考資料和解決常見錯誤的方法。
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
在實際生產中,容器化技術開始走向「容器編排技術」,如:Kubernetes。因為Docker無法獨立支撐大規模容器化部署。 Kubernetes起源於Borg系統,所以在大規模的叢集管理,優於其他容器編排技術。它提供拉取映像檔、拉取執行容器、路由閘道、水平擴充、監控和備份等,除外還可以自動化處理容
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本文將探討Kubernetes內部DNS解析的相關流程,並介紹如何利用DNS來找到服務。透過瞭解DNS的工作原理,可以讓應用服務的問題處理更有效率,並提供基本測試與結論。
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
本文將演示在安裝完 Kubernetes Cluster 後的基本元件安裝,包括 Calico/Calicoctl、Metric Server 和 Dashboard UI 的安裝方法以及相關問題與解決方式。
Thumbnail
這篇文章教你如何搭建Kubernetes Cluster,包括節點安裝前設定、軟體套件安裝、Control-Plane部署和加入運算節點等步驟。在建置之後,作者會分享一些基礎服務的安裝。希望這篇文章對你有所幫助。
Thumbnail
本文章將說明如果您想要從頭建置一組具有Loadbalancer HA架構的Kubernetes Cluster時,你可能會需要做的事前準備工作。
Thumbnail
這篇文章將提供一個完整的Kubernetes安裝指南,包括控制平面節點和工作節點的安裝過程。文章中還會提及一些參考資料和解決常見錯誤的方法。
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
在實際生產中,容器化技術開始走向「容器編排技術」,如:Kubernetes。因為Docker無法獨立支撐大規模容器化部署。 Kubernetes起源於Borg系統,所以在大規模的叢集管理,優於其他容器編排技術。它提供拉取映像檔、拉取執行容器、路由閘道、水平擴充、監控和備份等,除外還可以自動化處理容
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本文將探討Kubernetes內部DNS解析的相關流程,並介紹如何利用DNS來找到服務。透過瞭解DNS的工作原理,可以讓應用服務的問題處理更有效率,並提供基本測試與結論。
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
本文將演示在安裝完 Kubernetes Cluster 後的基本元件安裝,包括 Calico/Calicoctl、Metric Server 和 Dashboard UI 的安裝方法以及相關問題與解決方式。
Thumbnail
這篇文章教你如何搭建Kubernetes Cluster,包括節點安裝前設定、軟體套件安裝、Control-Plane部署和加入運算節點等步驟。在建置之後,作者會分享一些基礎服務的安裝。希望這篇文章對你有所幫助。
Thumbnail
本文章將說明如果您想要從頭建置一組具有Loadbalancer HA架構的Kubernetes Cluster時,你可能會需要做的事前準備工作。