Google Cloud コンソールを使用したクラスタへの接続

Connect では、Google Cloud コンソールを使用してユーザー クラスタを管理できます。作成した各ユーザー クラスタが自動的に Connect エージェントを実行し、Connect に登録されます。詳細については、Connect の概要をご覧ください。

始める前に

GKE on AWS の使用を始める前に、次のことを確認してください。

Connect を使用したクラスタへのログイン

Google Cloud Console を使用して、ユーザー クラスタのワークロードを表示、モニタリング、デバッグ、管理できます。

ユーザー クラスタにログインするには:

  1. anthos-aws ディレクトリから anthos-gke を使用して、コンテキストをユーザー クラスタに切り替えている。

    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    CLUSTER_NAME は、ユーザー クラスタ名に置き換えます。

  2. コマンドラインから kubectl を使用して kube-system Namespace に Kubernetes サービス アカウントとトークンを設定します。

    このトピックでは、サービス アカウントの名前が admin-user であることを前提としています。

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl create serviceaccount -n kube-system admin-user
    
  3. kubectl を使用してサービス アカウント トークン Secret を作成します。

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl apply -n kube-system -f - << EOF
    apiVersion: v1
    kind: Secret
    metadata:
      name: admin-user-token
      annotations:
        kubernetes.io/service-account.name: admin-user
    type: kubernetes.io/service-account-token
    EOF
    
  4. cluster-admin ロールと Kubernetes サービス アカウントの間に ClusterRoleBinding を作成します。

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl create clusterrolebinding admin-user-binding \
      --clusterrole cluster-admin --serviceaccount kube-system:admin-user
    
  5. kubectl でサービス アカウントの Secret を取得します。

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get secret -n kube-system admin-user-token -o jsonpath='{$.data.token}' \
      | base64 -d | sed $'s/$/\\\n/g'
    
  6. Secret をクリップボードにコピーします。

  7. Google Cloud コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。

    GKE クラスタに移動

  8. クラスタを選択します。[Kubernetes クラスタの詳細] 画面が表示されます。

  9. [ログイン] ボタンをクリックします。

  10. [トークン] を選択し、先ほどコピーした Kubernetes トークンを貼り付けます。[ログイン] をクリックします。

クラスタの登録

複数のクラスタが同じ名前で Connect に登録されないようにするには、Google Cloud CLI でクラスタを登録します。クラスタを登録するときには、クラスタと同じネットワークから Google Cloud CLI を実行する必要があります。クラスタを登録するには、次のコマンドを実行します。

 gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH

次のように置き換えます。

  • MEMBERSHIP_NAME: 選択したメンバーシップ名。フリートに登録されているクラスタを一意に識別するために使用されます。
  • SERVICE_ACCOUNT_KEY_PATH: 前提条件の一部としてダウンロードしたサービス アカウントの秘密鍵の JSON ファイルへのローカル ファイルパス。このサービス アカウント キーは、creds-gcp という名前の Secret として gke-connect Namespace に保存されます。
  • KUBECONFIG_CONTEXT: kubeconfig ファイルに表示される際に登録されているクラスタのクラスタ コンテキスト。この値は、コマンドラインで kubectl config current-context を実行すると取得できます。
  • KUBECONFIG_PATH: 登録されるクラスタのエントリを含む kubeconfig を格納するローカル ファイルパス。環境変数が設定されている場合のデフォルトは $KUBECONFIG です。それ以外の場合のデフォルトは $HOME/.kube/config です。

次のステップ

Connect を使用したクラスタへのログインに関するドキュメントを確認する。

Connect を使用した複数クラスタの管理について学習する。