すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する

最終更新日:Nov 09, 2025

Container Service for Kubernetes (ACK) コンソールに加えて、Kubernetes コマンドラインインターフェイス (kubectl) を使用してクラスターとアプリケーションを管理できます。kubectl を使用してクラスターに接続するには、まず、クラスターにアクセスするための認証情報と接続情報を含む kubeconfig ファイルを取得します。

ステップ 1: kubectl クライアントをインストールして設定する

お使いの OS とクラスターバージョンに基づいて、クライアントマシンに kubectl をインストールします。

ステップ 2: kubeconfig ファイルを取得して使用する

1. kubeconfig のタイプを選択する

kubeconfig ファイルには、クラスターにアクセスするための認証情報が含まれています。セキュリティ要件とユースケースに基づいて kubeconfig のタイプを選択します。

重要

責任共有モデルに従い、お客様は kubeconfig 認証情報のセキュリティ保護と維持に責任を負います。認証情報漏洩によるセキュリティリスクを軽減するために、定期的に kubeconfig をローテーションし、最小権限の原則に従ってください。

  • 有効期間別:

    • 一時的な kubeconfig: 30 分から 3 日間の有効期間を設定できます。ファイルは自動的に期限切れになるため、認証情報漏洩のセキュリティリスクが軽減されます。これは、API サーバーへの長期的なアクセスが必要ない日常の O&M、トラブルシューティング、CI/CD パイプラインに推奨されるオプションです。

    • 長期的な kubeconfig: このタイプには、デフォルトで 3 年間の有効期間があります。これは、頻繁な認証情報のローテーションが現実的でない自動化システムや長時間実行される監視サービスに適しています。

  • アクセス方法別:

    • プライベートアクセス: クライアントマシンがクラスターと同じ VPC にある場合、このオプションを使用します。kubeconfig を介して内部ネットワーク経由で接続すると、レイテンシーが低減され、セキュリティが強化されます。

    • パブリックアクセス: インターネットにアクセスできる任意のマシンからクラスターに接続する場合、このオプションを使用します。このメソッドは、Elastic IP (EIP) に依存して API サーバーを公開します。ローカル開発やリモート O&M に適しています。

      バインドされた EIP に関連する料金については、「従量課金」をご参照ください。
  • パブリックアクセスが有効になっている ACK 専用クラスターがある場合、SSH 経由でマスターノードから kubeconfig ファイルを取得し、ローカルで kubectl を使用してクラスターを管理できます。詳細については、「SSH を使用して ACK 専用クラスターのマスターノードに接続する」をご参照ください。

2. kubeconfig ファイルを取得してクラスターに接続する

コンソールから kubeconfig ファイルを取得した後、kubectl はそれを使用してクラスターに接続し、管理できます。

RAM (Resource Access Management) ユーザーがクラスターに接続する前に、ACK グローバルと特定のクラスターの両方で必要な権限が付与されている必要があります。詳細については、「権限付与」をご参照ください。
  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターを見つけ、クラスターの名前をクリックするか、[操作] 列の [詳細] をクリックします。クラスターの詳細ページが表示されます。

  3. クラスター詳細ページで、[接続情報] タブをクリックし、一時的または長期的な kubeconfig を選択します。一時的な kubeconfig を選択した場合は、適切な有効期間を設定します。

  4. [パブリックアクセス] または [内部アクセス] タブを選択し、[コピー] をクリックして kubeconfig の内容をコピーします。コピーした内容をクライアントマシンの $HOME/.kube/config ファイルに貼り付け、ファイルを保存して終了します。

    このファイルまたはディレクトリが存在しない場合は、mkdir -p $HOME/.kubetouch $HOME/.kube/config を実行して作成します。
  5. kubectl コマンドを実行して接続を確認します。たとえば、すべての名前空間をリスト表示するには、次のようにします。

    kubectl get namespaces

    接続が成功すると、名前空間のリストが返されます。

    NAME              STATUS   AGE
    default           Active   4h39m
    kube-node-lease   Active   4h39m
    kube-public       Active   4h39m
    kube-system       Active   4h39m

権限のクリーンアップ: ユーザーがアクセスを必要としなくなった場合 (たとえば、プロジェクトの完了や従業員の退職など)、kubeconfig の権限を一括で取り消します。権限が取り消されると、システムは新しい kubeconfig を生成しません。詳細については、「kubeconfig ファイルの削除」および「ack-ram-tool を使用して ACK クラスター上の指定されたユーザーの権限を取り消す」をご参照ください。

権限の誤った削除を避けるために、kubeconfig ゴミ箱を使用して、取り消された特定の kubeconfig 権限を復元できます。

よくある質問

kubeconfig 証明書に関連付けられている ID 情報を確認するにはどうすればよいですか?

次のコマンドを実行します。kubeconfig をファイルへのパスに置き換えてください。

grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:
デフォルトでは、kubectl は $HOME/.kube/config を使用してクラスターに接続します。KUBECONFIG 環境変数を設定するか、--kubeconfig パラメーターを指定することで、他の kubeconfig ファイルを指定することもできます。

出力は次のようになります。

        Subject: O=system:users, OU=, CN=1***-1673419473

各項目の説明:

  • O: Kubernetes ユーザーグループ。この例では、グループ名は system:users です。

  • CN: 関連付けられたユーザー情報。この例では、ユーザーは 1***-1673419473 で、1*** は Alibaba Cloud ユーザー ID です。

kubeconfig 証明書の有効期限を確認するにはどうすればよいですか?

次のコマンドを実行して、kubeconfig に関連付けられている証明書の有効期限を取得します。kubeconfig をファイルへのパスに置き換えてください。

grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -enddate
kubectl はデフォルトで $HOME/.kube/config を使用してクラスターに接続しますが、 KUBECONFIG 環境変数や --kubeconfig パラメーターで他の kubeconfig ファイルも指定できます。

出力は次のようになります。

notAfter=Jan 10 06:44:34 2026 GMT

この例では、Jan 10 06:44:34 2026 GMT が証明書の有効期限です。

証明書の有効期限が切れる 180 日以内、または有効期限が切れた後はいつでも、コンソールから、または API 操作を呼び出すことによって、新しい kubeconfig を取得できます。

kubeconfig からクライアント証明書、クライアント秘密鍵、API サーバー情報を抽出するにはどうすればよいですか?

次のコマンドを使用できます。kubeconfig をファイルへのパスに置き換えてください。

cat  ./kubeconfig |grep client-certificate-data | awk -F ' ' '{print $2}' |base64 -d > ./client-cert.pem
cat  ./kubeconfig |grep client-key-data | awk -F ' ' '{print $2}' |base64 -d > ./client-key.pem
APISERVER=`cat  ./kubeconfig |grep server | awk -F ' ' '{print $2}'`
kubectl はデフォルトで $HOME/.kube/config を使用してクラスターに接続しますが、 KUBECONFIG 環境変数や --kubeconfig パラメーターで他の kubeconfig ファイルも指定できます。

次のステップ

上記の手順が完了したら、オンプレミスマシンから kubectl を使用して ACK クラスターに接続できます。