Container Service for Kubernetes (ACK) コンソールでは、クラスターへの内部アクセスまたはパブリックアクセス用の一時的または長期的な kubeconfig を取得できます。
前提条件
開始する前に、以下を確認してください。
kubeconfig タイプの選択
kubeconfig は、クラスターへのアクセス認証情報を保存します。
有効期間による分類:
| タイプ | 有効期間 | 推奨用途 |
|---|---|---|
| 一時的な kubeconfig | 30 分~3 日間 (設定可能) | 日常的な運用保守、トラブルシューティング、CI/CD パイプライン |
| 長期的な kubeconfig | 3 年間 (デフォルト) | 自動化システム、長時間実行される監視サービス |
一時的な kubeconfig は自動的に失効するため、認証情報の漏えいリスクを軽減します。長期的な kubeconfig は、頻繁なローテーションが現実的でない場合に限り使用してください。
アクセス方法による分類:
| タイプ | 要件 | 推奨用途 |
|---|---|---|
| 内部アクセス | クライアントマシンがクラスターと同じ Virtual Private Cloud (VPC) 内にあること | 低レイテンシー、セキュリティ強化 |
| パブリックアクセス | インターネットアクセス可能な任意のマシン。API サーバーには Elastic IP アドレス (EIP) が必要です。 | ローカル開発、リモート運用保守 |
EIP の使用には料金が発生します。詳細については、「従量課金」をご参照ください。
責任共有モデルに基づき、kubeconfig 認証情報の保護と管理はお客様の責任となります。kubeconfig を定期的にローテーションし、最小権限の原則に従ってください。
パブリックアクセスが有効な ACK 専用クラスターの場合、SSH 経由でマスターノードに接続して kubeconfig を取得することもできます。
kubeconfig ファイルの取得とクラスターへの接続
-
ACK コンソールにログインします。左側のナビゲーションペインで、[クラスター] をクリックします。
-
[クラスター] ページで、目的のクラスター名をクリックするか、[操作] 列の [詳細] をクリックします。
-
クラスター詳細ページで、[接続情報] タブをクリックします。 [一時的な kubeconfig] または [長期的な kubeconfig] を選択します。 一時的な kubeconfig の場合は、有効期間を設定します。
-
[パブリックアクセス] または [内部アクセス] タブを選択し、[コピー] をクリックします。
-
クライアントマシン上の
$HOME/.kube/configに内容を貼り付けて保存します。説明ファイルまたはディレクトリが存在しない場合は、作成してください。
mkdir -p $HOME/.kube touch $HOME/.kube/config -
接続を確認します。
kubectl get namespaces出力例:
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
アクセスのクリーンアップ
ユーザーがクラスターへのアクセスが不要になった場合は、kubeconfig を失効させてください。システムは、そのユーザー用の新しい kubeconfig ファイルを生成しなくなります。複数のユーザーを一度に失効させるには、ack-ram-tool を使用してください。
誤って失効させた kubeconfig を復元するには、kubeconfig のごみ箱を使用してください。
よくある質問
kubeconfig 証明書に関連付けられたアイデンティティの確認方法
kubeconfig をファイルパスに置き換えてください。kubectl はデフォルトで $HOME/.kube/config を使用します。別のファイルを使用する場合は、KUBECONFIG 変数または --kubeconfig フラグを使用してください。
grep client-certificate-data kubeconfig | awk '{print $2}' | base64 -d | openssl x509 -noout -text | grep Subject:
出力例:
Subject: O=system:users, OU=, CN=1***-1673419473
-
O: Kubernetes ユーザーグループ — この例ではsystem:usersです。 -
CN: 関連付けられたユーザー — この例では1***-1673419473であり、1***は Alibaba Cloud ユーザー ID です。
kubeconfig 証明書の有効期限の確認方法
kubeconfig をファイルパスに置き換えてください。
grep client-certificate-data kubeconfig | awk '{print $2}' | base64 -d | openssl x509 -noout -enddate
出力例:
notAfter=Jan 10 06:44:34 2026 GMT
この例では、証明書は 2026 年 1 月 10 日に失効します。有効期限の 180 日前以降、または有効期限が切れた後の任意のタイミングで、コンソールまたは API 経由で更新してください。
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 を使用して、ワークロードのデプロイ、リソースの検査、アプリケーションの管理を行います。