この記事では、Microsoft Azure Kubernetes Service (AKS) クラスターを起動、アップグレード、またはスケーリングしようとしたときに発生する OperationNotAllowed エラーのトラブルシューティング方法について説明します。
前提条件
現象
次のいずれかのエラー メッセージを含む複数の症状が発生します。
操作が許可されていません:別の操作 (<operation-name>) が進行中です。完了するまで待ってから、新しい操作を開始してください。 詳細については、 https://aka.ms/aks-pending-operation を参照してください
または、エージェント プールに対する操作の場合は、次のようにします。
操作が許可されていません:別のエージェント プール操作 (<operation-name>) が進行中です。完了するまで待ってから新しい操作を開始してください。 詳細については、 https://aka.ms/aks-pending-operation を参照してください
または:
マネージド クラスターの操作は許可されていません:エージェント プール (<agent-pool-name>) で別の操作 (<operation-name>) が進行中です。完了するまで待ってから新しい操作を開始してください。 詳細については、 https://aka.ms/aks-pending-operation を参照してください
原因
一部の操作の実行には時間がかかります。 これらの操作は、完了していない場合に他の操作をブロックします。
解決策 1: 操作が完了するまで待つ
次の例では、クラスターが別のクライアントから更新されている間に、あるクライアントからクラスターを開始すると、"OperationNotAllowed" エラーが発生します。
az aks start -n <myAKSCluster> -g <myResourceGroup>
(OperationNotAllowed) managed cluster is in Provisioning State(Updating) and Power State(Running), starting cannot be performed The previous operation started at '2024-02-21T13:33:55Z' and elapsed time is: '00:00:00' (RFC3339 format)
Code: OperationNotAllowed
Message: managed cluster is in Provisioning State(Starting) and Power State(Running), starting cannot be performed The previous operation started at '2024-02-21T13:33:55Z' and elapsed time is: '00:00:00' (RFC3339 format)
このような問題を解決するには、ブロック操作が完了するまで待機するか、 az aks operation-abort コマンドを使用して実行時間の長い操作を中止してみてください。
解決策 2: 2 つの同様の操作を 1 行に実行しないようにする
既に目的の状態になっているクラスターで操作を実行すると、"OperationNotAllowed" エラーが発生します。
たとえば、クラスターが既に停止している場合、別の停止操作を実行すると、次のエラーがトリガーされます。
az aks stop -n <myAKSCluster> -g <myResourceGroup>
(OperationNotAllowed) managed cluster is not currently running, stopping cannot be performed; The stop operation started at '2024-02-13T15:01:15Z' and elapsed time is: '7 days and 01:16:37' (RFC3339 format)
Code: OperationNotAllowed
Message: managed cluster is not currently running, stopping cannot be performed; The stop operation started at '2024-02-13T15:01:15Z' and elapsed time is: '7 days and 01:16:37' (RFC3339 format)
このような問題を解決するには、もう一度停止する前にクラスターを起動します。
解決策 3: 操作を試す前に、現在のクラスターの状態を取得する
操作を試す前に、クラスターの現在の状態を確認することもできます。 問題を診断するには、次の az aks show コマンドを実行して、クラスターに関する詳細な状態を取得します。
az aks show --resource-group <myResourceGroup> --name <myAKSCluster> --output table
次の表を使用して、コマンドの結果に基づいて適切なアクションを実行します。 (az aks show
コマンド出力テーブルの ProvisioningState
列を参照してください)。
コマンド結果 | アクション |
---|---|
クラスターがアクティブに更新中 | 操作が完了するまで待ちます。 |
クラスターの更新に失敗しました | アクティビティ ログでエラーの原因を見つけます。 |
クラスターの更新に成功しました | 開始、スケール、またはその他の以前に失敗した操作を再試行します。 |
解決策 4: 操作を再試行する
一時的な問題のために操作が失敗し、一貫性のない状態のままになるシナリオがあります。
次の例では、ノード プール <agentpool で削除が発行されましたが> 削除はまだ完了していません。 削除が開始されると、リソースに対して他の操作を行うことはできません。 そのため、スケール操作は "OperationNotAllowed" エラーで失敗します。
{
"code": "OperationNotAllowed",
"details": null,
"message": "Unable to perform 'Scaling' operation on 'agentpool' since deletion was issued on 'agentpool'. The only allowed operation is deletion once deletion has started. The delete operation started at '2024-01-09T04:29:12Z' and elapsed time is: '00:30:28' (RFC3339 format)",
"subcode": ""
}
このような問題を解決するには、削除が完了するまで待ちます。 数時間後に完了しない場合は、後でその削除を再試行してください。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。