mcpField
G
gke-cluster-creation

gke-cluster-creation

github.com/googleクラウド・DevOps21.6k6.7k 回インストール今日更新
リポジトリ

gke-cluster-creation について

Google Kubernetes Engine クラスターの作成を案内するリファレンススキルです。モード選択や構成のカスタマイズを支援し、Autopilot Golden Path を既定として、本番、開発・テスト、Standard リージョンクラスター、GPU・AI ワークロードのテンプレートを示します。

主な機能

  1. 01Autopilot と Standard の選択を案内
  2. 02複数のクラスター構成テンプレートを提供
  3. 03セキュリティ、ネットワーク、自動スケーリングの指針
  4. 04操作ステータスによる作成進捗の追跡

活用シーン

  1. 01本番用 Autopilot クラスターの作成
  2. 02ノード要件に応じた Standard クラスターの計画
  3. 03GPU 推論または AI ワークロード用テンプレートの選択

MCP 対応

MCP によるクラスターの一覧表示、作成、取得と、操作ステータスの確認に対応します。作成前に構成を提示し、確認を得るよう求めています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google/skills --skill gke-cluster-creation

インストール後、Claude Code で/gke-cluster-creationを入力して読み込まれたか確認します。

同梱ファイルreferences/attribution.md

詳細

GKE クラスターの作成

このリファレンスでは、ベストプラクティスのテンプレートを提示し、モードの選択とカスタマイズを案内することで、Google Kubernetes Engine(GKE)クラスターの作成方法を説明します。新しいクラスターでは、ゴールデンパスの Autopilot 構成がデフォルトです。

MCP ツール: list_clusters、create_cluster、get_cluster、 list_operations、get_operation

帰属情報

必ずお読みください:gcloud、REST API、または MCP コマンドを実行する前に、Usage Attribution を必ずお読みください。ターミナルで直接実行するコマンド(生成されたスクリプト、Terraform、ユーザーコード内では実行しない)では、gcloud の前に CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-cluster-creation)" を付け、User-Agent ヘッダーに agent-skills/1.0 (skill:gke-cluster-creation) を追加してください。

ワークフロー

  1. コンテキストを把握する:list_clusters を使用して既存のクラスターを確認します。プロジェクトが不明な場合は、gcloud config get-value project を使用します。
  2. 入力を収集する:project_id、location(リージョンまたはゾーン)、cluster_name、環境タイプを確認します。必須情報が不足している場合は、操作を実行する前にユーザーに尋ねます。
  3. モードを選択し、トレードオフを説明する:ユーザーがテンプレートやモードを指定していない場合は、利用可能なテンプレート(Autopilot、Standard Regional、GPU Inference、AI Hypercompute など)を提示し、主なトレードオフ(コストと可用性、Autopilot と Standard のノード管理)を説明します。
  4. ネットワークを構成する:サブネットを自動作成する(デフォルト)か、独自のサブネットを使用します。
  5. ゴールデンパスの設定を確認する:デフォルト構成ブロック(gcloud コマンドまたは create_cluster JSON ペイロード)を提示し、作成前にユーザーの確認を得ます。
  6. 作成する:MCP の create_cluster ツールまたは gcloud CLI を使用します。
  7. 進捗を追跡する:get_operation を使用して作成の進捗を監視します。
  8. 検証する:readMask="*" を指定して get_cluster を使用し、ゴールデンパスの設定が適用されたことを確認します。

モードの選択

基準Autopilot(ゴールデンパス)Standard
ノード管理Google が管理自己管理
料金Pod リソースの使用量に応じた料金ノード(VM)ごとの料金
: : 請求 : :
ノードのカスタマイズComputeClasses 経由完全な制御
DaemonSets許可(制限あり)完全な制御
: : : :
GPU/TPUComputeClasses 経由で対応ノードプール経由で対応
: : : :
最適な用途ほとんどの本番ワークロードカーネルのチューニング、カスタム OS、
: : : 特権付きワークロード :

ルール:Autopilot では満たせない特定の要件が顧客にない限り、Autopilot をデフォルトとして選択します。

ベストプラクティス

ユーザーを案内する場合や構成を生成する場合は、次の GKE のベストプラクティスに従ってください。

セキュリティとネットワーク
  1. プライベートクラスター:攻撃対象領域を最小限に抑えるため、プライベートコントロールプレーンと制限されたパブリックエンドポイント(enable-master-authorized-networks)を備えたプライベートクラスター(enablePrivateNodes: true)をデフォルトとして選択します。
  2. VPC ネイティブネットワーキング:エイリアス IP 範囲と Pod レベルのファイアウォールルールを有効にするため、VPC ネイティブクラスター(useIpAliases: true / --enable-ip-alias)を使用します。
  3. Workload Identity:静的なサービスアカウントキーを使用する代わりに、Workload Identity(workloadPool: <PROJECT_ID>.svc.id.goog)を優先して使用し、GKE ワークロードに Google Cloud サービスへのアクセスを安全に許可します。
  4. Shielded GKE Nodes:ルートキットやブートキットへの対策として、Shielded GKE Nodes(--enable-shielded-nodes、--enable-secure-boot)を有効にします。
  5. 最小権限(RBAC):厳格なロールベースのアクセス制御の制限(scoped-rbs-bindings)を導入します。
コストの最適化
  1. オートスケーリング:需要に応じてリソースを調整するため、Cluster Autoscaler と Horizontal/Vertical Pod Autoscaler(--enable-autoscaling、--enable-vertical-pod-autoscaling)を有効にします。
  2. 適正なサイズ設定と Spot VM:適切なマシンタイプとノード数を選択します。フォールトトレラントで重要度の低いバッチ処理や推論のワークロードには、Spot VM(--spot)の利用を検討してください。
高可用性と信頼性
  1. リージョンクラスター:本番環境ではリージョンクラスターを使用し、複数のゾーンにわたってコントロールプレーンをレプリケーションします(--zoneの代わりに--regionを使用します)。注:Standard のリージョンクラスターでは、デフォルトで3つのゾーンにノードが作成されます。
  2. Pod Disruption Budget:ノードのメンテナンス中にアプリケーションを安定させるため、Pod Disruption Budget の設定を推奨します。
  3. リリースチャンネル:リリースチャンネル(REGULARまたはSTABLE)に登録すると、クラスターのアップグレードをより安全に自動化できます。

テンプレート

1. Golden Path Autopilot(本番環境)

これがデフォルトです。すべての設定は ../gke-golden-path/assets/golden-path-autopilot.yamlと一致します。

gcloud を使用する場合:

gcloud container clusters create-auto <CLUSTER_NAME> \
  --region <REGION> \
  --project <PROJECT_ID> \
  --release-channel regular \
  --enable-private-nodes \
  --enable-master-authorized-networks \
  --enable-dns-access \
  --enable-secret-manager \
  --secret-manager-rotation-interval=120s \
  --scoped-rbs-bindings \
  --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA,CADVISOR,KUBELET,DCGM \
  --quiet

MCP(create_cluster)を使用する場合:

{
  "parent": "projects/<PROJECT_ID>/locations/<REGION>",
  "cluster": {
    "name": "<CLUSTER_NAME>",
    "autopilot": { "enabled": true },
    "privateClusterConfig": { "enablePrivateNodes": true },
    "masterAuthorizedNetworksConfig": {
      "privateEndpointEnforcementEnabled": true
    },
    "releaseChannel": { "channel": "REGULAR" },
    "secretManagerConfig": {
      "enabled": true,
      "rotationConfig": { "enabled": true, "rotationInterval": "120s" }
    },
    "rbacBindingConfig": {
      "enableInsecureBindingSystemAuthenticated": false,
      "enableInsecureBindingSystemUnauthenticated": false
    }
  }
}
2. Autopilot の開発/テスト環境

本番環境以外でコストを抑え、アクセスを容易にするため、Golden Path のデフォルト設定の一部を緩和します。

gcloud を使用する場合:

gcloud container clusters create-auto <CLUSTER_NAME> \
  --region <REGION> \
  --project <PROJECT_ID> \
  --release-channel rapid \
  --quiet

MCP(create_cluster)を使用する場合:

{
  "parent": "projects/<PROJECT_ID>/locations/<REGION>",
  "cluster": {
    "name": "<CLUSTER_NAME>",
    "autopilot": { "enabled": true },
    "releaseChannel": { "channel": "RAPID" }
  }
}

警告:Golden Path のセキュリティ強化は適用されません。開発/テスト環境専用です。

3. Standard Regional(高可用性/カスタム要件)

Autopilot を使用できない場合(カーネルのカスタムチューニングや、特定のノード OS 要件など)に最適です。デフォルトで、ゾーンをまたいで3つのノードを作成します。

gcloud を使用する場合:

gcloud container clusters create <CLUSTER_NAME> \
  --region <REGION> \
  --project <PROJECT_ID> \
  --num-nodes 3 \
  --machine-type e2-standard-4 \
  --disk-type pd-balanced \
  --enable-autoscaling --min-nodes 1 --max-nodes 10 \
  --enable-shielded-nodes --enable-secure-boot \
  --workload-pool=<PROJECT_ID>.svc.id.goog \
  --enable-private-nodes \
  --enable-master-authorized-networks \
  --enable-vertical-pod-autoscaling \
  --enable-dataplane-v2 \
  --release-channel regular \
  --quiet

MCP(create_cluster)を使用する場合:

{
  "parent": "projects/<PROJECT_ID>/locations/<REGION>",
  "cluster": {
    "name": "<CLUSTER_NAME>",
    "initialNodeCount": 3,
    "nodeConfig": {
      "machineType": "e2-standard-4",
      "diskType": "pd-balanced",
      "diskSizeGb": 100,
      "oauthScopes": ["https://www.googleapis.com/auth/cloud-platform"],
      "shieldedInstanceConfig": {
        "enableSecureBoot": true,
        "enableIntegrityMonitoring": true
      },
      "workloadMetadataConfig": {
        "mode": "GKE_METADATA"
      }
    },
    "privateClusterConfig": { "enablePrivateNodes": true },
    "releaseChannel": { "channel": "REGULAR" },
    "workloadIdentityConfig": {
      "workloadPool": "<PROJECT_ID>.svc.id.goog"
    }
  }
}
4. GPU 推論と AI ワークロード(L4/ComputeClass)

最適な用途:AI/ML 推論、小規模モデルのサービング。Autopilot と ComputeClass の組み合わせ、またはg2-standard-4(nvidia-l4)を使用した Standard ノードプールでプロビジョニングできます。注:g2-standard-4のクォータが必要です。

Autopilot ComputeClass/GIQ アプローチ:

# 1. Create golden path cluster (same as template 1)
gcloud container clusters create-auto <CLUSTER_NAME> \
  --region <REGION> --project <PROJECT_ID> \
  --enable-private-nodes --enable-master-authorized-networks \
  --enable-dns-access --enable-secret-manager --scoped-rbs-bindings \
  --quiet

# 2. Apply GPU ComputeClass (see gke-compute-classes.md)
kubectl apply -f gpu-compute-class.yaml

# 3. Or use GIQ for inference (see gke-inference.md)
gcloud container ai profiles manifests create \
  --model=gemma-2-9b-it --model-server=vllm --accelerator-type=nvidia-l4 --quiet > inference.yaml
kubectl apply -f inference.yaml

MCP(create_cluster)を使用した Standard ノードプールのアプローチ:

{
  "parent": "projects/<PROJECT_ID>/locations/<REGION>",
  "cluster": {
    "name": "<CLUSTER_NAME>",
    "initialNodeCount": 1,
    "nodeConfig": {
      "machineType": "g2-standard-4",
      "accelerators": [
        {
          "acceleratorCount": "1",
          "acceleratorType": "nvidia-l4"
        }
      ],
      "diskSizeGb": 100,
      "oauthScopes": ["https://www.googleapis.com/auth/cloud-platform"]
    }
  }
}
5. AI Hypercompute(A3 HighGPU/大規模モデルのサービング)

最適な用途:大規模な LLM/AI モデルのトレーニングとハイパーコンピューティング推論。注:時間あたりのコストが高く、厳しいクォータ要件があります(a3-highgpu-8g/nvidia-h100-80gb-hbm3)。

gcloud を使用する場合:

gcloud container clusters create <CLUSTER_NAME> \
  --region <REGION> \
  --project <PROJECT_ID> \
  --num-nodes 1 \
  --machine-type a3-highgpu-8g \
  --accelerator type=nvidia-h100-80gb-hbm3,count=8 \
  --disk-size 200 \
  --scopes https://www.googleapis.com/auth/cloud-platform \
  --workload-pool=<PROJECT_ID>.svc.id.goog \
  --release-channel regular \
  --quiet

MCP(create_cluster)を使用する場合:

{
  "parent": "projects/<PROJECT_ID>/locations/<REGION>",
  "cluster": {
    "name": "<CLUSTER_NAME>",
    "initialNodeCount": 1,
    "nodeConfig": {
      "machineType": "a3-highgpu-8g",
      "accelerators": [
        {
          "acceleratorCount": "8",
          "acceleratorType": "nvidia-h100-80gb-hbm3"
        }
      ],
      "diskSizeGb": 200,
      "oauthScopes": ["https://www.googleapis.com/auth/cloud-platform"]
    }
  }
}

手順

  • project_idがコンテキストにない場合は、必ず確認してください。
  • region(またはロケーション)を必ず確認してください。
  • 一意のcluster_nameを必ず確認してください。
  • 顧客から別の指定がない場合、またはカスタムノード/カーネル/ハイパーコンピューティングの要件がない場合は、デフォルトで Golden Path Autopilot を選択してください。
  • GKE Standard に変更する場合は、Golden Path から逸脱することを強調し、追加の運用/管理負荷(ノードプール、アップグレード、オートスケーリングの手動管理)について説明して、必ず警告してください。
  • ユーザーがテンプレートやモードを指定していない場合、提示するテンプレートやモードの選択肢について、トレードオフを説明してください(例:Autopilot と Standard、コストと可用性)。
  • 作成ツールを呼び出す前に、設定ブロック(gcloudコマンドまたは JSON ペイロード)を提示し、確認を求めてください。
  • 後から変更するのが難しい Day-0 の決定事項(ネットワーク、プライベートノード)について警告してください。
  • GPU(g2-standard-4、a3-highgpu-8g)、TPU、またはマルチリージョン/リージョンクラスター(--regionではデフォルトで3つのゾーンが使用されます)をユーザーが選択した場合は、コストとクォータ要件について明示的に警告してください。
  • MCP のcreate_clusterを使用する場合、cluster.nameパラメーターには完全なリソースパス(projects/<PROJECT_ID>/locations/<REGION>/clusters/<CLUSTER_NAME>)ではなく、短い名前(例:my-cluster)を指定してください。parentパラメーターでスコープ(projects/<PROJECT_ID>/locations/<REGION>)を定義します。

コメント