kubernetes-admin
ユーザーとして TKG サービス クラスタ制御プレーンに接続して、管理者のタスクおよびクラスタの問題のトラブルシューティングを行うことができます。
プロビジョニングされた Tanzu Kubernetes クラスタで有効な kubeconfig ファイルは、TKG-CLUSTER-NAME-kubeconfig
という名前のシークレット オブジェクトとして スーパーバイザー から入手できます。このシークレットを使用することで、クラスタ制御プレーンに kubernetes-admin
ユーザーとして接続できます。
手順
- スーパーバイザー に接続します。
- ターゲット TKG クラスタがプロビジョニングされている vSphere 名前空間 にコンテキストを切り替えます。
kubectl config use-context VSPHERE-NAMESPACE
- 名前空間内のシークレット オブジェクトを表示します。
シークレットには、
TKG-CLUSTER-NAME-kubeconfig
という名前が付いています。
kubectl config use-context tkg-cluster-ns
Switched to context "tkg-cluster-ns".
ubuntu@ubuntu:~$ kubectl get secrets
NAME TYPE DATA AGE
...
tkg-cluster-1-kubeconfig Opaque 1 23h
...
- 次のコマンドを実行してシークレットをデコードします。
シークレットは Base64 でエンコードされています。デコードするには、Linux の場合は
base64 --decode
(または
base64 -d
)、MacOS の場合は
base64 --Decode
(または
base64 -D
)、Windows の場合は
オンライン ツールを使用します。
kubectl get secret TKG-CLUSTER-NAME-kubeconfig -o jsonpath='{.data.value}' | base64 -d > tkgs-cluster-kubeconfig-admin
このコマンドはシークレットをデコードし、
tkgs-cluster-kubeconfig-admin
という名前のローカルファイルに書き込みます。
cat
コマンドを使用して、ファイルの内容を確認します。
- デコードされた
tkg-cluster-kubeconfig-admin
ファイルを使用し、Kuberentes 管理者として TKG クラスタに接続します。
これには、以下の 2 つの方法があります。
オプション |
説明 |
--kubeconfig <path\to\kubeconfig> |
--kubeconfig フラグとローカルの kubeconfig ファイルへのパスを使用します。たとえば、kubeconfig ファイルが同じディレクトリにある場合は次のコマンドを実行します: kubectl --kubeconfig tkg-cluster-kubeconfig-admin get nodes |
KUBECONFIG |
デコードされた kubeconfig ファイルを参照するように KUBECONFIG 環境変数を設定し、kubectl get nodes などの kubectl を実行します。 |
クラスタ内にノードが表示されます。
- vSphere 名前空間 に対する編集権限を持つ DevOps ユーザーが Tanzu CLI を使用して管理者ユーザーとして TKG クラスタにログインする場合は、次のコマンドを実行します。
tanzu cluster kubeconfig get CLUSTER-NAME --admin
このコマンドは、kubernetes-control-plane の証明書/プライベート キーを含む
kubeconfig
を生成します(すべての認可がバイパスされます)。続いて、この
kubeconfig
を使用してクラスタにログインできます。
を参照してください。