CNE GCP Ready: Kubernetesクラスターへのアクセス
Cloud Native Experience (CNE) GCP Ready は、デフォルトで Google Kubernetes Engine (GKE) クラスターをプライベートクラスターとしてプロビジョニングします。
Kubernetes APIサーバーは公開エンドポイントを提供していないため、アクセスはGoogle Cloud Connect Gateway経由で行われます。
前提条件
クラスターに接続する前に:
-
Google Cloudで認証してください。
gcloud auth login gcloud auth application-default login -
GCPプロジェクトで以下のAPIが有効になっていることを確認してください。
connectgateway.googleapis.comgkehub.googleapis.com
アクセス権限の設定
クラスターへのアクセスには、Google Cloud IAM権限とKubernetes RBAC権限の両方が必要です。
Google Cloud IAM ロール
ユーザーまたはサービスアカウントに、以下のIAMロールを割り当ててください。
roles/gkehub.gatewayAdminroles/gkehub.viewer
必要なアクセスレベルに応じて、以下の方法も使用できます。
roles/gkehub.gatewayReaderroles/gkehub.gatewayEditor
Kubernetes RBAC
一部の上位レベルのGoogle Cloudロールは、Kubernetesの管理アクセスに自動的にマッピングされます。
例:
roles/container.admin- プロジェクトオーナー
最小権限アクセスを実現するには、代わりに明示的なKubernetes RBACバインディングを設定してください。
例:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: gateway-user-admin
subjects:
- kind: User
name: user@example.com
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
クラスターに接続します
-
利用可能なフリートメンバーシップの一覧:
gcloud container fleet memberships list -
Connect Gateway を介してクラスタ認証情報を取得します。
gcloud container fleet memberships get-credentials <membership-name> -
クラスターへのアクセスを確認する:
kubectl get nodes
認証が完了すると、 kubeconfig は自動的に Connect Gateway エンドポイントを使用します。
アクティブコンテキストを確認する
現在の Kubernetes コンテキストを確認するには、 kubectl config current-context を実行します。
Connect Gateway を介して構成されたコンテキストは、 connectgateway_ で始まります。
詳細については、 Connect Gateway および Connect Gateway セットアップ を参照してください。