次の方法で共有


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' の処理中にエラーを報告しました。

エラー メッセージ: "可能に失敗しました: コマンドの実行に失敗しました: コマンドは終了 status=52\n[stdout]\n{ で終了しました

"ExitCode": "52",

"Output": "Fri Oct 15 10:06:00 UTC 2021,aks- nodepool1-36696444-vmss000000\nConnection to mcr.microsoft.com 443 port [tcp/https]

原因

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

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

ソリューション

DNS サーバーとファイアウォールで、クラスターの FQDN への解決がブロックされていないことを確認します。 nslookupまたはdigコマンドを実行して必要な修正を適用した後でも、何かがブロックされている場合、カスタム 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 サーバーが正しく構成されていることを確認します。

Note

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

詳細

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

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