Kubernetes アプリケーション オファーのデプロイが失敗した場合のトラブルシューティング
この記事では、Microsoft Azure Marketplaceで受け入れられた Kubernetes アプリケーション オファーのデプロイが失敗したことをトラブルシューティングする方法について説明します。 Kubernetes オファーの購入を開始すると、Azure は、オファーを満たすために必要なリソースのインストールを試みる Azure Resource Manager テンプレート (ARM テンプレート) をデプロイします。 ただし、ARM テンプレートのデプロイは、さまざまな理由で失敗する可能性があります。
トラブルシューティング チェックリスト
デプロイ操作ログを調べる
デプロイエラーの原因を特定するには、 デプロイ操作ログを調べる必要があります。 Azure portalで [デプロイに失敗しました] ページがまだ表示されている場合は、次の手順の手順 5 から開始します。 代わりに、Azure portalを終了した場合、または別のポータル ページに移動した場合は、次のすべての手順に従います。
Azure portalで、リソース グループを検索して選択します。
リソース グループの一覧で、Kubernetes アプリケーションをデプロイしようとしたリソース グループの名前を選択します。
リソース グループの [概要] ページで、[Essentials] セクションを見つけて、[デプロイ] フィールドの横に表示されるハイパーリンク付きテキストを選択します。 このテキストには、リソース グループのリソースデプロイ履歴の成功率が表示されます (たとえば、 4 失敗、30 成功など)。
リソース グループに対して試行されたデプロイの一覧で、次の対応するフィールドに基づいて、失敗したデプロイの [デプロイ 名 ] 値を選択します。
- 最終更新日 (タイム スタンプ)
- Duration
- 状態 ([ 成功] ではなく [失敗]と表示されます)
デプロイ ページの [デプロイの詳細] の一覧で、[状態] フィールドの値が [競合] のリソースを見つけます。 そのリソースの [操作の詳細 ] リンクを選択します。
[ 操作の詳細 ] ウィンドウで、 Status プロパティ ( Conflict の値が表示されます) を見つけて、プロパティの下にある [状態] メッセージ ボックスを調べます。
状態メッセージ内の JSON コードには、 の
Failed
プロパティがstatus
表示されます。 また、 の子プロパティ ("ExtensionOperationFailed" などのエラー コード名) とmessage
("拡張機能操作が次のエラーで失敗しました: 指定された値から拡張機能のバージョンを解決できませんでした" などのエラー メッセージの説明) を含むプロパティcode
も表示error
されます。 JSON コードは次のテキストのようになります。{ "status": "Failed", "error": { "code": "ExtensionOperationFailed", "message": "The extension operation failed with the following error: Failed to resolve the extension version from the given values." } }
次のセクションでは、一般的な障害シナリオの原因と解決策について説明します。
原因 1: 選択した AKS クラスターにアプリケーションがインストールされませんでした
選択した Azure Kubernetes Service (AKS) クラスターに Kubernetes アプリケーションがインストールされていない場合、次のようなエラー メッセージが表示されます。
要求が subscription-guid>/resourceGroups/resourceGroup/providers/Microsoft.ContainerService/managedclusters/aks-cluster/extensionaddons/default?api-version=2021-03-01 に失敗しましたhttps://management.azure.com/subscriptions/<。 エラー コード: 禁止。 理由: 禁止。
{ "error": { "code": "AuthorizationFailed", "message": "The client '<client-guid>' with object id '<client-guid>' does not have authorization to perform action 'Microsoft.ContainerService/managedclusters/extensionaddons/read' over scope '/subscriptions/<subscription-guid>/resourceGroups/resourceGroup/providers/Microsoft.ContainerService/managedclusters/aks-cluster/extensionaddons/default' or the scope is invalid. If access was recently granted, please refresh your credentials." } }
解決策 1a: Microsoft.KubernetesConfiguration リソース プロバイダーを登録する
Microsoft.KubernetesConfiguration リソース プロバイダーを登録します。 この場合、Kubernetes アプリケーションをデプロイするために Microsoft.KubernetesConfiguration リソース プロバイダーが必要なため、インストールが失敗しました。 登録手順については、「Azure Marketplaceからのコンテナー オファーのデプロイ」の「リソース プロバイダーの登録」セクションAzure Marketplace参照してください。
解決策 1b: AKS クラスターの正常性を維持する
一般に、インストール期間中に他の問題が発生しないように、AKS クラスターの正常性をチェックする必要があります。 クラスターが正常であることを確認するには、クラスターで特定された問題を解決します。
解決策 1c: Azure Monitor アクティビティ ログを調べる
クラスターが正常であってもインストールが失敗した場合はどうしますか? その場合は、AKS クラスター内の Azure Monitor アクティビティ ログ を調べて、インストールのその段階でエラーの原因を見つけます。
原因 2: サブスクリプションにリソース制約がある
Azure サブスクリプションにはリソースの制約があるため、次のテキストのようなエラー メッセージが生成されるエラーが発生します。
"不明" の支払い方法は、OfferId を使用したオファーではサポートされていません: '<offer-name>'、PlanId 'subscription-plan-name>'< です。
解決策 2: サブスクリプションが必要な課金構成を満たしていることを確認する
サブスクリプションの課金構成を確認して、Kubernetes アプリケーションのリソース要件を満たしていることを確認します。 詳細については、「 購入検証チェック」を参照してください。
原因 3: お使いのリージョンでオファーを利用できませんでした
特定の地理的リージョンでオファーを販売できないことを示すエラー メッセージが表示されます。 エラー メッセージは、次のテキストのようになります。
オファー: "<オファー名>" は、"subscription-guid>" というサブスクリプション<で購入することはできません。これは、"2 文字リージョン コード" という市場<では販売されないためです。
解決策 3: オファーがまだ利用可能かどうかを確認する
オファーがまだ使用可能であることを確認し、オファーが適用されるリージョンをダブルチェックします。
原因 4: 内部サーバー エラーが発生しました
拡張機能リソースがインストールされていないため、Kubernetes アプリケーションがインストールされませんでした。 このエラーにより、次のエラー メッセージが生成されます。
内部サーバー エラーで拡張機能のデプロイに失敗しました
解決策 4: 拡張機能を削除して再インストールする
まず、オファー購入の一部である拡張機能リソースを削除します。 次に、拡張機能を再インストールします。
原因 5: Helm グラフがインストールされませんでした
Helm グラフのエラーにより、次のエラー メッセージが生成されます。
リリースのパス [] からグラフをインストールできませんでした
解決策 5: ARM テンプレートで作成したエントリを再確認する
ARM テンプレートデプロイのAzure portalで入力した値と選択が、Kubernetes アプリケーションで受け入れられることを確認します。
原因 6: このプランのサブスクリプションの法的条件に同意していない
サブスクリプションを使用する前に、イメージの法的条項に同意する必要があります。 それ以外の場合は、次のエラー メッセージが表示されます。
このプランの "<subscription-guid>" という法的条件に同意していません。 サブスクリプションを使用する前に、イメージの法的条項に同意する必要があります。
解決策 6: 法的条件に同意する
Azure portalを使用してデプロイできます。 Azure portalは、法律条項を読んで同意するための UI エクスペリエンスを提供します。
次の手順
AKS クラスター拡張機能をデプロイするときのエラーのトラブルシューティング
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。