Connect では、Google Cloud コンソールを使用してユーザー クラスタを管理できます。作成した各ユーザー クラスタが自動的に Connect エージェントを実行し、Connect に登録されます。詳細については、Connect の概要をご覧ください。
始める前に
GKE on AWS の使用を始める前に、次のことを確認してください。
- 前提条件を満たしている。
Connect を使用したクラスタへのログイン
Google Cloud Console を使用して、ユーザー クラスタのワークロードを表示、モニタリング、デバッグ、管理できます。
ユーザー クラスタにログインするには:
anthos-aws
ディレクトリからanthos-gke
を使用して、コンテキストをユーザー クラスタに切り替えている。cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
CLUSTER_NAME は、ユーザー クラスタ名に置き換えます。コマンドラインから
kubectl
を使用してkube-system
Namespace に Kubernetes サービス アカウントとトークンを設定します。このトピックでは、サービス アカウントの名前が
admin-user
であることを前提としています。env HTTPS_PROXY=http://localhost:8118 \ kubectl create serviceaccount -n kube-system admin-user
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
cluster-admin
ロールと Kubernetes サービス アカウントの間に ClusterRoleBinding を作成します。env HTTPS_PROXY=http://localhost:8118 \ kubectl create clusterrolebinding admin-user-binding \ --clusterrole cluster-admin --serviceaccount kube-system:admin-user
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'
Secret をクリップボードにコピーします。
Google Cloud コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。
クラスタを選択します。[Kubernetes クラスタの詳細] 画面が表示されます。
[ログイン] ボタンをクリックします。
[トークン] を選択し、先ほどコピーした 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 を使用した複数クラスタの管理について学習する。