kubernetes-admin ユーザーとして TKG サービス クラスタ制御プレーンに接続して、管理者のタスクおよびクラスタの問題のトラブルシューティングを行うことができます。

プロビジョニングされた Tanzu Kubernetes クラスタで有効な kubeconfig ファイルは、TKG-CLUSTER-NAME-kubeconfig という名前のシークレット オブジェクトとして スーパーバイザー から入手できます。このシークレットを使用することで、クラスタ制御プレーンに kubernetes-admin ユーザーとして接続できます。

手順

  1. スーパーバイザー に接続します。
  2. ターゲット TKG クラスタがプロビジョニングされている vSphere 名前空間 にコンテキストを切り替えます。
    kubectl config use-context VSPHERE-NAMESPACE
  3. 名前空間内のシークレット オブジェクトを表示します。
    kubectl get secrets
    シークレットには、 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
    ...
    
  4. 次のコマンドを実行してシークレットをデコードします。
    シークレットは 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 コマンドを使用して、ファイルの内容を確認します。
  5. デコードされた 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 を実行します。
    クラスタ内にノードが表示されます。
  6. vSphere 名前空間 に対する編集権限を持つ DevOps ユーザーが Tanzu CLI を使用して管理者ユーザーとして TKG クラスタにログインする場合は、次のコマンドを実行します。
    tanzu cluster kubeconfig get CLUSTER-NAME --admin
    このコマンドは、kubernetes-control-plane の証明書/プライベート キーを含む kubeconfig を生成します(すべての認可がバイパスされます)。続いて、この kubeconfig を使用してクラスタにログインできます。 を参照してください。