K8SAPIServerDNSLookupFailVMExtensionError エラー コードのトラブルシューティング (52)

この記事では、Microsoft Azure Kubernetes Service (AKS) クラスターをK8SAPIServerDNSLookupFailVMExtensionError起動または作成してデプロイしようとしたときに発生するエラー (エラー コード ERR_K8S_API_SERVER_DNS_LOOKUP_FAIL、エラー番号 52 とも呼ばれます) を特定して解決する方法について説明します。

前提条件

  • Windows ノード用 の nslookup DNS ルックアップ ツールまたは Linux ノード用 の dig ツール。

  • Azure CLI バージョン 2.0.59 以降のバージョン。 Azure CLI が既にインストールされている場合は、 を実行 az --versionしてバージョン番号を確認できます。

現象

AKS クラスターを起動または作成しようとすると、次のエラー メッセージが表示されます。

エージェントは Kubernetes API サーバー名を解決できません。 カスタム DNS サーバーが正しく構成されていない可能性があります。詳細については、こちらをご覧 https://aka.ms/aks/private-cluster#hub-and-spoke-with-custom-dns ください。

詳細: Code="VMExtensionProvisioningError"

Message="VM は、拡張機能 'vmssCSE' を処理するときにエラーを報告しました。

エラー メッセージ: "Enable failed: failed to execute command: command terminated with exit status=52\n[stdout]\n{

"ExitCode": "52",

"Output": "Fri Oct 15 10:06:00 UTC 2021,aks- nodepool1-36696444-vmss000000\n443 ポート mcr.microsoft.com への接続 [tcp/https]

原因

クラスター ノードは、Azure DNS でクラスターの完全修飾ドメイン名 (FQDN) を解決できません。 失敗したクラスター ノードで次の DNS 参照コマンドを実行して、有効な DNS 解決を見つけます。

ノード OS command
Linux dig <cluster-fqdn>
Windows nslookup <cluster-fqdn>

ソリューション

DNS サーバーとファイアウォールで、クラスターの FQDN の解決をブロックするものがないことを確認します。 または dig コマンドを実行nslookupして必要な修正を適用した後でも、何かがブロックされている場合、カスタム DNS サーバーが正しく構成されていない可能性があります。 カスタム DNS サーバーの構成に関するヘルプについては、次の記事を参照してください。

カスタム DNS を持つプライベート クラスターを使用すると、DNS ゾーンが作成されます。 DNS ゾーンは仮想ネットワークにリンクされている必要があります。 これは、クラスターの作成後に発生します。 カスタム DNS を持つプライベート クラスターの作成は、作成時に失敗します。 ただし、クラスターを調整することで、作成プロセスを "成功" 状態に復元できます。 これを行うには、次のように Azure CLI で az resource update コマンドを実行します。

az resource update --resource-group <resource-group-name> \
    --name <cluster-name> \
    --namespace Microsoft.ContainerService \
    --resource-type ManagedClusters

また、前に説明したように、DNS サーバーがプライベート クラスター用に正しく構成されていることを確認します。

注:

条件付き転送ではサブドメインはサポートされていません。

詳細

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。