この記事では、クライアント IP アドレスが AKS API サーバーにアクセスできないために Azure Kubernetes Service (AKS) クラスターに接続できない場合に発生する問題を修正する方法について説明します。
前提条件
現象
Azure portal から mamespaces やワークロードなどの Kubernetes リソースにアクセスしようとすると、次のエラーが発生する可能性があります。
ネットワーク エラー
API サーバー 'https://<API-server-FQDN>' に到達できないか、API サーバーがビジー状態で応答できません。 ネットワーク設定を確認し、更新してやり直してください。
Azure CLI を使用してクラスターに接続しようとすると、次のエラーが表示されることがあります。
"Unhandled Error" err="couldn't get current server API group list: Get \"https://<API-SERVER-FQDN>:443/api?timeout=32s\": dial tcp <API-SERVER-IP>:443: i/o timeout"
Unable to connect to the server: dial tcp <API-SERVER-IP>:443: i/o timeout
Unable to connect to the server: dial tcp <API-SERVER-IP>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period, or established connection failed because connected host has failed to respond.
原因
API サーバーで承認された IP 範囲 クラスターの API サーバーで有効になっている可能性がありますが、クライアントの IP アドレスが IP 範囲に含まれていませんでした。 この機能が有効になっているかどうかを確認するには、Azure CLI の次の az aks show コマンドによって IP 範囲の一覧が生成されるかどうかを確認します。
az aks show --resource-group <cluster-resource-group> \
--name <cluster-name> \
--query apiServerAccessProfile.authorizedIpRanges
ソリューション
クラスターの API サーバーで承認された範囲を確認し、その範囲内にクライアントの IP アドレスを追加します。
Note
トラフィックがプロキシ サーバーまたはファイアウォールを経由してルーティングされる企業ネットワークから API サーバーにアクセスしますか? 次に、API サーバーの承認された範囲の一覧にクライアント IP アドレスを追加する前に、ネットワーク管理者に問い合わせてください。
また、クライアント IP アドレスを追加する前に、クラスター管理者に問い合わせてください。承認された範囲の一覧に一時的な IP アドレスを追加するとセキュリティ上の問題が発生する可能性があるためです。
Azure portal からクラスターに移動します。
左側のメニューで Settings を見つけて、 Networking を選択します。
Networking ページで、Overview タブを選択します。
Resource 設定で Manage を選択します。
認証された IP 範囲 ウィンドウで、次のスクリーンショットに示すようにクライアント IP アドレスを追加します。
次の curl コマンドを実行して、クライアント IP アドレスを取得します。
$ curl --silent checkip.dyndns.org
<html><head><title>Current IP Check</title></head><body>Current IP Address: 0.255.127.63</body></html>
クライアント IP アドレスを使用して、Azure CLI の az aks update コマンドを使用して、API サーバーで承認された範囲を更新します。
az aks update --resource-group <cluster-resource-group> \
--name <cluster-name> \
--api-server-authorized-ip-ranges <ip-ranges-that-include-your-client-ip-address>
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。