升級已啟用 Azure Arc 的 Kubernetes 代理程式
已啟用 Azure Arc 的 Kubernetes 為其代理程式提供自動和手動升級功能,讓代理程式升級至最新版本。 如果您停用自動升級,改為依賴手動升級,則 Arc 代理程式和基礎 Kubernetes 叢集須遵循版本支援原則。
將叢集連線至 Azure Arc 時開啟或關閉自動升級
已啟用 Azure Arc 的 Kubernetes 為其代理程式提供現成的自動升級功能。 由於已啟用自動升級,代理程式會每小時輪詢一次 Azure,以檢查是否有較新版本。 有較新版本可用時,就會對 Azure Arc 代理程式觸發 Helm 圖表升級。
當您將叢集連線到 Azure Arc時,預設設定是啟用自動升級。
下列命令將叢集連線至 Azure Arc 並啟用自動升級:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
重要
請確定您允許連線到所有必要端點。 特別是自動升級需要連線至 dl.k8s.io
。
若要退出自動升級,請在將叢集連線至 Azure Arc 時指定 --disable-auto-upgrade
參數。
下列命令將叢集連線至 Azure Arc 並停用自動升級:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest --disable-auto-upgrade
提示
如果您打算停用自動升級,對於已啟用 Azure Arc 的 Kubernetes,請注意版本支援原則。
將叢集連線至 Azure Arc 後開啟或關閉自動升級
將叢集連線至 Azure Arc 之後,您可以使用 az connectedk8s update
命令並將 --auto-upgrade
設定為 true 或 false,以變更自動升級選擇。
下列命令對連線的叢集關閉自動升級:
az connectedk8s update --name AzureArcTest1 --resource-group AzureArcTest --auto-upgrade false
手動升級代理程式
如果您已停用自動升級,您可以使用 az connectedk8s upgrade
命令來手動起始代理程式的升級。 這麼做時,您必須指定要升級到哪個版本。
已啟用 Azure Arc 的 Kubernetes 遵循標準語意版本設定配置 MAJOR.MINOR.PATCH
,以設定其代理程式的版本。 版本中每個號碼都表示與舊版的一般相容性:
- 有不相容的 API 更新時,主要版本會變更,否則回溯相容性可能中斷。
- 當功能變更可回溯相容於其他次要版本時,次要版本會變更。
- 當進行回溯相容的 Bug 修正時,修補檔版本會變更。
已啟用 Azure Arc 的 Kubernetes 代理程式大約每月發行一次新的次要版本,時間表不一定。
下列命令會手動將代理程式升級至 1.8.14 版:
az connectedk8s upgrade -g AzureArcTest1 -n AzureArcTest --agent-version 1.8.14
檢查代理程式版本
若要列出連線的叢集和報告的代理程式版本,請使用下列命令:
az connectedk8s list --query '[].{name:name,rg:resourceGroup,id:id,version:agentVersion}'
檢查叢集上是否已啟用自動升級
若要檢查叢集是否已啟用自動升級,請執行下列 kubectl 命令。 請注意,對於已啟用 Azure Arc 的 Kubernetes,公用 API 中不支援自動升級設定。
kubectl -n azure-arc get cm azure-clusterconfig -o jsonpath="{.data['AZURE_ARC_AUTOUPDATE']}"
版本支援原則
當您為已啟用 Azure Arc 的 Kubernetes 建立支援要求時,須遵循下列版本支援原則:
已啟用 Azure Arc 的 Kubernetes 代理程式以 "N-2" 為支援期間,其中 'N' 是代理程式的最新次要版本。
- 例如,如果已啟用 Azure Arc 的 Kubernetes 現在引進 0.28.a,則支援 0.28.a、0.28.b、0.27.c、0.27.d、0.26.e 和 0.26.f 版。
連線至 Azure Arc 的 Kubernetes 叢集以 "N-2" 為支援期間,其中 'N' 是上游 Kubernetes 的最新穩定次要版本。
- 例如,如果 Kubernetes 現在引進 1.20.a,則支援 1.20.a、1.20.b、1.19.c、1.19.d、1.18.e 和 1.18.f 版。
如果您建立支援要求,並使用超出支援原則的版本 (比 "N-2" 支援的代理程式和上游 Kubernetes 叢集版本還要舊),則會要求您將叢集和代理程式升級為支援的版本。
下一步
- 逐步執行快速入門,將 Kubernetes 叢集連線至 Azure Arc。
- 是否已有連線至 Azure Arc 的 Kubernetes 叢集? 在已啟用 Azure Arc 的 Kubernetes 叢集上建立設定。
- 了解如何使用 Azure 原則大規模套用設定。