升級 Azure Kubernetes Service (AKS) 叢集
適用於:Azure 本機版本 23H2
在管理應用程式和叢集生命週期時,您可能想要升級至最新可用的 Kubernetes 版本。 升級牽涉到移至較新版本的 Kubernetes、套用作業系統 (OS) 版本更新或兩者。 AKS Arc 支援使用最新的OS和運行時間更新,升級工作負載叢集中的節點(或修補) 節點。
所有升級都會以連續滾動的方式執行,以確保工作負載的不間斷可用性。 將具有較新組建的新 Kubernetes 背景工作節點帶入叢集時,會將資源從舊節點移至新節點。 成功完成之後,舊的節點就會解除委任,並從叢集中移除。
開始之前
如果您使用 Azure CLI,本文會要求您使用 Azure CLI 2.34.1 以上版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級 CLI,請參閱 安裝 Azure CLI。
檢查可用升級
使用下列命令檢查叢集可用的 Kubernetes 版本:
az aksarc get-upgrades --resource-group myResourceGroup --name myAKSCluster
下列範例輸出顯示目前的版本為 1.24.11 ,並列出 下 upgrades
可用的版本:
{
"agentPoolProfiles": [
{
"kubernetesVersion": "1.24.11",
"upgrades": [
{
"kubernetesVersion": "1.25.7"
}
]
}
],
"controlPlaneProfile": {
"kubernetesVersion": "1.24.11",
"name": "aksarc-testupgrade",
"osType": "Linux",
"upgrades": [
{
"kubernetesVersion": "1.25.7"
}
]
},
...
"provisioningState": "Succeeded",
...
}
升級 Kubernetes 版本
當您升級支援的 AKS 叢集時,無法跳過 Kube 次要版本。 您必須依主要版本號碼的順序執行所有升級。 例如,允許從 1.24.x 升級至 1.25.x 或 1.25.x 到 1.26.x。 不允許 1.24.x 到 1.26.x 。
注意
如果未指定修補檔,叢集會自動升級至指定次要版本的最新 GA 修補檔。 例如,將 設定 --kubernetes-version
為 1.25 會導致叢集升級至 1.25.7。
您可以使用下列命令升級叢集:
az aksarc upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version <KUBERNETES_VERSION>
使用 show
命令確認升級成功:
az aksarc show --resource-group myResourceGroup --name myAKSCluster
下列範例輸出顯示叢集現在會執行 1.25.7:
{
"extendedLocation": {
"name":
"/subscriptions/<subscription>/resourcegroups/<resource group>/providers/microsoft.extendedlocation/customlocations/<custom
location>",
"type": "CustomLocation"
},
"id": "/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.Kubernetes/connectedClusters/aksarc-testupgrade/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default",
"name": "default",
"properties": {
"agentPoolProfiles": [
{
}
],
"controlPlane": {
"availabilityZones": null,
"controlPlaneEndpoint": {
"hostIp": null,
"port": null
},
"count": 1,
"linuxProfile": {
"ssh": {
"publicKeys": null
}
},
"name": null,
"nodeImageVersion": null,
"osSku": "CBLMariner",
"osType": "Linux",
"vmSize": "Standard_A4_v2"
},
"kubernetesVersion": "1.25.7",
...
"provisioningState": "Succeeded",
...
},
....
"type": "microsoft.hybridcontainerservice/provisionedclusterinstances"
}
重要
當您從略過兩個或多個次要版本的不支援版本執行升級時,升級無法保證適當的功能。 如果您的版本明顯過舊,建議您重改為新建立叢集。
在升級作業期間,和 currentState
指標都會provisioningState
顯示升級訊息,以反映進行中的程式。 不過,如果作業逾時, provisioningState
會顯示 [失敗],同時 currentState
繼續顯示 升級 ,因為升級會在背景繼續。 不需要採取任何動作;升級會繼續進行,直到完成為止。
更新作業系統 (OS) 版本
只有在新映像不需要不同的 Kubernetes 版本時,才將背景工作節點更新為較新版本的節點映射,而不需要變更 Kubernetes 版本才能運作。 目前,AKS Arc 不支援支援所有 Kubernetes 版本的節點-映像僅更新。 如果您需要更新節點映像,您必須將叢集升級為最新的 Kubernetes 版本,以確保所有節點映射更新都已納入。
重要
嘗試使用 node-image-only
旗標時,您會收到訊息,指出尚不支援此功能。