この記事では、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\nmcr.microsoft.com 443 ポートへの接続 [tcp/https]
原因
クラスター ノードは、Azure DNS 内のクラスターの完全修飾ドメイン名 (FQDN) を解決できません。 失敗したクラスター ノードで次の DNS 参照コマンドを実行して、有効な DNS 解決を見つけます。
| ノード OS | command |
|---|---|
| Linux | dig <cluster-fqdn> |
| ウィンドウズ | nslookup <cluster-fqdn> |
ソリューション
DNS サーバーとファイアウォールで、クラスターの FQDN への解決がブロックされていないことを確認します。
nslookupまたはdigコマンドを実行して必要な修正を適用した後でも、何かがブロックされている場合、カスタム DNS サーバーが正しく構成されていない可能性があります。 カスタム DNS サーバーの構成に関するヘルプについては、次の記事を参照してください。
カスタム DNS を持つプライベート クラスターを使用すると、DNS ゾーンが作成されます。 DNS ゾーンは、仮想ネットワークにリンクされている必要があります。 これは、クラスターが作成された後に発生します。 カスタム DNS を持つプライベート クラスターの作成は、作成時に失敗します。 ただし、クラスターを調整することで、作成プロセスを "成功" 状態に復元できます。 これを行うには、次のように Azure CLI で az resource update コマンドを実行します。
次に、AKS クラスターとリソース グループ名を設定し、update コマンドを実行してクラスターを調整します。 環境変数はリソース名を一意にし、使用する直前に宣言されます。
az resource update --resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--namespace Microsoft.ContainerService \
--resource-type ManagedClusters
結果:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/ManagedClusters/myAksClusterxxx",
"location": "eastus",
"name": "myAksClusterxxx",
"properties": {
// ...other properties...
},
"resourceGroup": "myResourceGroupxxx",
"type": "Microsoft.ContainerService/ManagedClusters"
}
また、前述のように、プライベート クラスターに対して DNS サーバーが正しく構成されていることを確認します。
注
条件付き転送では、サブドメインはサポートされていません。
詳細
お問い合わせはこちらから
ご質問がある場合は、 Azure コミュニティサポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。