この記事では、Azure Kubernetes Service enabled by Arc (AKS Arc) クラスターがアップグレード状態でスタックする問題 を修正する 方法について説明します。 この問題は通常、Azure Local をバージョン 2503 または 2504 に更新した後、クラスター上の Kubernetes バージョンをアップグレードしようとした後に発生します。
症状
AKS Arc クラスターをアップグレードしようとすると、クラスターの currentState プロパティが アップグレード 中の状態のままであることがわかります。
az aksarc upgrade --name "cluster-name" --resource-group "rg-name"
===> Kubernetes might be unavailable during cluster upgrades.
Are you sure you want to perform this operation? (y/N): y
The cluster is on version 1.28.9 and is not in a failed state.
===> This will upgrade the control plane AND all nodepools to version 1.30.4. Continue? (y/N): y
Upgrading the AKSArc cluster. This operation might take a while...
{
"extendedLocation": {
"name": "/subscriptions/resourceGroups/Bellevue/providers/Microsoft.ExtendedLocation/customLocations/bel-CL",
"type": "CustomLocation"
},
"id": "/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/Bellevue/providers/Microsoft.Kubernetes/ConnectedClusters/Bel-cluster/providers/Microsoft.HybridContainerService/ProvisionedClusterInstances/default",
"name": "default",
"properties": {
"kubernetesVersion": "1.30.4",
"provisioningState": "Succeeded",
"currentState": "Upgrading",
"errorMessage": null,
"operationStatus": null
"agentPoolProfiles": [
{
...
原因
この問題は、Azure Local バージョン 2503 で最近導入された変更によって発生します。 特定の条件下で、Kubernetes のアップグレード プロセス中に一時的または断続的な障害が発生した場合、それらが正しく検出または復旧されません。 これにより、クラスターの状態が アップグレード 中の状態のままになることがあります。
AKS Arc カスタム位置情報拡張機能
hybridaksextensionバージョンが 2.1.211 または 2.1.223 の場合、この問題が発生します。 次のコマンドを実行して、クラスターの拡張機能のバージョンを確認できます。az login --use-device-code --tenant <Azure tenant ID> az account set -s <subscription ID> $res=get-archcimgmt az k8s-extension show -g $res.HybridaksExtension.resourceGroup -c $res.ResourceBridge.name --cluster-type appliances --name hybridaksextension{ "aksAssignedIdentity": null, "autoUpgradeMinorVersion": false, "configurationProtectedSettings": {}, "currentVersion": "2.1.211", "customLocationSettings": null, "errorInfo": null, "extensionType": "microsoft.hybridaksoperator", ... }
緩和策
この問題は 、AKS on Azure Local バージョン 2505 で修正されました。 Azure ローカル デプロイを 2505 ビルドにアップグレードします。 更新後、 Kubernetes のバージョンがアップグレードされ 、クラスターの currentState プロパティが Succeeded と表示されていることを確認します。
Azure ローカル バージョン 2503 または 2504 の回避策
この問題は、Azure Local バージョン 2503 または 2504、および AKS Arc 拡張機能バージョン 2.1.211 または 2.1.223 のクラスターにのみ影響します。 ここで説明する軽減策は、2505 にアップグレードできない場合にのみ適用されます。
この問題は、AKS Arc update コマンドを実行して解決できます。
update コマンドを実行すると、アップグレード フローが再起動されます。
aksarc update コマンドは、クラスターの状態に影響を与えないプレースホルダー パラメーターを使用して実行できます。 そのため、この場合は、 update コマンドを実行して、これらの機能がまだ有効になっていない場合は、NFS または SMB ドライバーを有効にすることができます。 まず、いずれかの記憶域ドライバーが既に有効になっているかどうかを確認します。
az login --use-device-code --tenant <Azure tenant ID>
az account set -s <subscription ID>
az aksarc show -g <resource_group_name> -n <cluster_name>
ストレージ プロファイル セクションを確認します。
"storageProfile": {
"nfsCsiDriver": {
"enabled": false
},
"smbCsiDriver": {
"enabled": true
}
}
いずれかのドライバーが無効になっている場合は、次のいずれかのコマンドを使用して有効にすることができます。
az aksarc update --enable-smb-driver -g <resource_group_name> -n <cluster_name>
az aksarc update --enable-nfs-driver -g <resource_group_name> -n <cluster_name>
aksarc update コマンドを実行すると問題が解決され、クラスターの currentState プロパティが Succeeded と表示されます。 状態が更新されたら、ドライバーを有効のままにしない場合は、次のいずれかのコマンドを実行して、このアクションを元に戻すことができます。
az aksarc update --disable-smb-driver -g <resource_group_name> -n <cluster_name>
az aksarc update --disable-nfs-driver -g <resource_group_name> -n <cluster_name>
クラスターで両方のドライバーが既に有効になっている場合は、使用されていないドライバーを無効にすることができます。 両方のドライバーを有効にしておく必要がある場合は、Microsoft サポートにお問い合わせください。
検証
K8s バージョンのアップグレードが完了したことを確認するには、次のコマンドを実行し、JSON 出力の currentState プロパティが Succeeded に設定されていることを確認します。
az aksarc show -g <resource_group> -n <cluster_name>
...
...
"provisioningState": "Succeeded",
"status": {
"currentState": "Succeeded",
"errorMessage": null,
"operationStatus": null
"controlPlaneStatus": { ...
...
Microsoft サポートに問い合わせる
問題が解決しない場合は、サポート要求を作成する前に AKS クラスター ログを収集してください。