このページは、クラウド インフラストラクチャの設定、モニタリング、管理を担当する IT 管理者とオペレーターを対象としています。 Google Cloud のコンテンツで参照する一般的なロールとタスク例の詳細については、一般的な GKE Enterprise ユーザーロールとタスクをご覧ください。
Kubernetes 構成ファイル
Kubernetes は、kubeconfig
という名前の YAML ファイルを使用して、kubectl
のクラスタ認証情報を格納します。kubeconfig
には、コマンドの実行時に kubectl
が参照するコンテキストのリストが含まれています。デフォルトで、このファイルは $HOME/.kube/config
に保存されます。
コンテキストとは、アクセス パラメータのグループのことです。各コンテキストには 1 つの Kubernetes クラスタ、1 人のユーザー、1 つの名前空間が含まれます。現在のコンテキストとは、現在 kubectl
のデフォルトとなっているクラスタのことです。すべての kubectl
コマンドはこのクラスタに対して実行されます。
クラスタを作成したら、kubeconfig
エントリを生成するに従って、クラスタのコンテキストをローカル kubeconfig
に追加します。
プライベート エンドポイント
すべてのクラスタには正規のエンドポイントがあります。このエンドポイントは、kubectl
や他のサービスと TCP ポート 443 経由でクラスタ コントロール プレーンと通信するために使用する Kubernetes API サーバーを公開します。AWS では、このエンドポイントはクラスタ内でのみ解決可能な DNS 名です(例: gke-abcdefghijk-cp-ffabcdef123456.elb.us-west-1.amazonaws.com
)。このエンドポイントには、公共のインターネットからはアクセスできません。限定公開クラスタ エンドポイント アドレスは、gcloud container aws clusters describe
コマンドの出力の endpoint
フィールドから取得できます。
Connect ゲートウェイ エンドポイント
デフォルトでは、gcloud container aws clusters get-credentials
コマンドは Connect ゲートウェイを使用する kubeconfig
を生成します。この kubeconfig
により、kubectl
は Connect を使用し、ユーザーの代わりに、トラフィックをプライベート エンドポイントに安全に転送します。Connect ゲートウェイを使用する場合、エンドポイントは https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME
のようになります。ここで PROJECT_NUMBER はプロジェクト番号、CLUSTER_NAME はクラスタ名です。
VPC を介してクラスタのプライベート・エンドポイントにアクセスできれば、プライベート・エンドポイントに直接接続できます。プライベート・エンドポイントを使用して kubeconfig
を生成するには、gcloud container aws clusters get-credentials --private-endpoint
コマンドを使用します。
kubectl
の認証について
すべての GKE on AWS は、kubectl
によって提示された認証情報を検証し、ユーザーまたはサービス アカウント ID に関連付けられたメールアドレスを取得することによって、 Google Cloudユーザーおよびサービス アカウント ID を受け入れるように構成されています。したがって、これらのアカウントの認証情報に userinfo.email
OAuth スコープを記述して、正しく認証されるようにする必要があります。
gcloud
を使用して新しい、または既存のクラスタ用の環境の kubeconfig
をセットアップする場合、gcloud
は、gcloud
自体で使用されるものと同じ認証情報を kubectl
に渡します。たとえば gcloud auth login
を使用する場合、userinfo.email
スコープを含めそのユーザー個人の認証情報が kubectl
に渡されます。これにより、GKE on AWS で kubectl
クライアントを認証できます。
ユーザーまたは Google Cloud サービス アカウントが認証された後、GKE on AWS に対するアクションの実行をアカウントに許可する必要があります。クラスタ管理者は、適切なロールベース アクセス制御を設定して承認を構成します。