K8SAPIServerDNSLookupFailVMExtensionError エラー コード (52) のトラブルシューティング
この記事では、Microsoft Azure Kubernetes Service (AKS) クラスターを起動または作成してデプロイしようとしたときに発生する K8SAPIServerDNSLookupFailVMExtensionError
エラー (エラー コード ERR_K8S_API_SERVER_DNS_LOOKUP_FAIL、エラー番号 52 とも呼ばれます) を特定して解決する方法について説明します。
前提条件
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 フィードバック コミュニティに製品フィードバックを送信することもできます。