設定檔適用性:等級 2
節點自動升級將節點保持在當前的 Kubernetes 和作業系統安全補丁級別,以減輕已知的弱點。
節點自動升級可幫助您將叢集或節點池中的節點保持在 Kubernetes 的最新穩定補丁版本以及基礎節點作業系統的最新狀態。節點自動升級使用與手動節點升級相同的更新機制。
當新的穩定 Kubernetes 版本可用時,已啟動節點自動升級的節點池會自動排程進行升級。升級執行時,節點池將升級以匹配當前叢集主版本。
從安全角度來看,這樣做的好處是當安全修補程式發布時,能自動將安全更新應用到 Kubernetes 引擎。
注意節點自動升級預設已啟動。即使叢集已啟動節點自動修復,此功能僅適用於預設節點池。後續的節點池預設不啟動節點自動升級。
|
影響
啟用節點自動升級不會立即升級節點。自動升級會在 Kubernetes 引擎團隊的裁量下定期進行。為了防止在叢集的高峰期進行升級,應定義維護時段。
維護時段是可以選擇的四小時時間範圍,期間將進行自動升級。升級可以在一週中的任何一天進行,並且可以在該時間範圍內的任何時間進行。為了防止升級在某些日期發生,應定義維護排除。維護排除可以跨越多天。
注意作為 GKE 節點自動升級過程的一部分,節點會被重新建立。當節點被建立時,它會自動接收最新版本的節點映像。對於 COS 映像,這是主要的作業系統升級機制。
|
稽核
使用 Google Cloud 主控台:
- 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面。
- 從叢集列表中選擇所需的叢集。
- 對於每個節點池,查看節點池詳細資訊窗格,並確保在管理標題下,自動升級已設為已啟動。
使用命令列:
要檢查現有叢集的節點池是否存在自動升級,首先定義節點池、叢集名稱、位置資訊和專案的4個變數,然後執行以下命令:
gcloud container node-pools describe $POOL_NAME --cluster $CLUSTER_NAME --location $LOCATION --project $PROJECT_ID --format json | jq '.management'
確保上述命令的輸出中,JSON 鍵屬性
autoUpgrade 設定為 true:{ "autoUpgrade": true }
如果節點自動升級被禁用,則上述命令的輸出將不包含
autoUpgrade條目。補救
使用 Google Cloud 主控台:
- 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面。
- 選擇包含已停用自動升級的節點池的 Kubernetes 叢集。
- 透過點擊資源池的名稱來選擇節點池。
- 導航至節點池詳細資訊窗格並點擊編輯。
- 在管理標題下,勾選啟用自動升級方框。
- 點擊儲存。
- 對於每個已停用自動升級的叢集和節點池,重複步驟2-6。
使用命令列:
要為現有叢集的節點池啟用節點自動升級,請執行以下命令:
gcloud container node-pools update <node_pool_name> --cluster <cluster_name> --location <location> --enable-autoupgrade
