升級已啟用 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 叢集版本還要舊),則會要求您將叢集和代理程式升級為支援的版本。

下一步