API サーバーでのクラスター接続に関する問題の基本的なトラブルシューティング

この記事では、Kubernetes クラスターのコマンド ライン ツール (kubectl) またはその他のツール (プログラミング言語を介した REST API の使用など) を使用してクラスターの API サーバーに到達できない場合の、Azure Kubernetes Service (AKS) クラスターへの接続の問題について説明します。

前提条件

根本原因と解決策

API サーバーへの接続の問題はさまざまな理由で発生する可能性がありますが、根本原因は多くの場合、次のいずれかのエラーに関連しています。

  • ネットワーク
  • 認証
  • 承認

次の一般的なトラブルシューティング手順を実行して、AKS クラスターの API サーバーへの接続を確認できます。

  1. Azure CLI で次の az aks show コマンドを入力します。 このコマンドは、AKS クラスターの完全修飾ドメイン名 (FQDN) を取得します。

    az aks show --resource-group <cluster-resource-group> --name <cluster-name> --query fqdn
    
  2. FQDN を使用して、ネーム サーバー参照 (nslookup)、クライアント URL (curl)、および telnet コマンドを使用して、クライアント コンピューターから API サーバーに到達できるかどうかを確認します。

    # Check if the DNS Resolution is working:
    $ nslookup <cluster-fqdn>  
    
    # Then check if the API Server is reachable:
    $ curl -Iv https://<cluster-fqdn>
    $ telnet <cluster-fqdn> 443
    
  3. AKS クラスターがプライベートの場合は、AKS クラスターの Azure Virtual Network にアクセスできる仮想マシン (VM) からコマンドを実行してください。 プライベート クラスターへの接続については、「 Options」を参照してください

  4. 必要に応じて、API サーバーが承認する IP 範囲にクライアント IP アドレスを追加できるように Client IP アドレスが API サーバーにアクセスできないようにトラブルシューティングの記事の手順に従います。

  5. クライアント コンピューター上の kubectl のバージョンが、AKS クラスターのバージョンのツールの背後にある 2 つ以上のマイナー バージョンではないことを確認します。 最新バージョンの kubectl をインストールするには、Azure CLI で az aks install-cli コマンドを実行します。 その後、 kubectl version コマンドを実行して、新しいインストールのバージョン番号を確認できます。

    たとえば、Linux では次のコマンドを実行します。

    sudo az aks install-cli
    kubectl version --client
    

    その他のクライアント オペレーティング システムの場合は、 kubectl のインストール手順を使用します。

  6. 必要に応じて、接続時に Config ファイルを使用できないためトラブルシューティング記事の手順に従ってください。Kubernetes 構成ファイル (config) は有効であり、接続時に見つかります。

  7. 必要に応じて、クラスター ノードの詳細を一覧表示できるように、トラブルシューティングの記事 ユーザーがクラスター リソースを取得できないの手順に従います。

  8. ファイアウォールを使用して AKS ワーカー ノードからのエグレス トラフィックを制御する場合は、ファイアウォールで AKS に必要な 最小のエグレス ルールが許可されていることを確認

  9. AKS ノードに関連付けられている network セキュリティ グループ が AKS ノード内の TCP ポート 10250 での通信を許可していることを確認します。

その他の一般的なトラブルシューティング手順については、kubectl やその他のサード パーティ製ツールが API サーバーに接続する場合の TCP タイムアウトを参照してください。

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

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