gke-cluster-creation について
Google Kubernetes Engine クラスターの作成を案内するリファレンススキルです。モード選択や構成のカスタマイズを支援し、Autopilot Golden Path を既定として、本番、開発・テスト、Standard リージョンクラスター、GPU・AI ワークロードのテンプレートを示します。
主な機能
- 01Autopilot と Standard の選択を案内
- 02複数のクラスター構成テンプレートを提供
- 03セキュリティ、ネットワーク、自動スケーリングの指針
- 04操作ステータスによる作成進捗の追跡
活用シーン
- 01本番用 Autopilot クラスターの作成
- 02ノード要件に応じた Standard クラスターの計画
- 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) を追加してください。
ワークフロー
- コンテキストを把握する:
list_clustersを使用して既存のクラスターを確認します。プロジェクトが不明な場合は、gcloud config get-value projectを使用します。 - 入力を収集する:
project_id、location(リージョンまたはゾーン)、cluster_name、環境タイプを確認します。必須情報が不足している場合は、操作を実行する前にユーザーに尋ねます。 - モードを選択し、トレードオフを説明する:ユーザーがテンプレートやモードを指定していない場合は、利用可能なテンプレート(Autopilot、Standard Regional、GPU Inference、AI Hypercompute など)を提示し、主なトレードオフ(コストと可用性、Autopilot と Standard のノード管理)を説明します。
- ネットワークを構成する:サブネットを自動作成する(デフォルト)か、独自のサブネットを使用します。
- ゴールデンパスの設定を確認する:デフォルト構成ブロック(
gcloudコマンドまたはcreate_clusterJSON ペイロード)を提示し、作成前にユーザーの確認を得ます。 - 作成する:MCP の
create_clusterツールまたはgcloudCLI を使用します。 - 進捗を追跡する:
get_operationを使用して作成の進捗を監視します。 - 検証する:
readMask="*"を指定してget_clusterを使用し、ゴールデンパスの設定が適用されたことを確認します。
モードの選択
| 基準 | Autopilot(ゴールデンパス) | Standard |
|---|---|---|
| ノード管理 | Google が管理 | 自己管理 |
| 料金 | Pod リソースの使用量に応じた料金 | ノード(VM)ごとの料金 |
| : : 請求 : : | ||
| ノードのカスタマイズ | ComputeClasses 経由 | 完全な制御 |
| DaemonSets | 許可(制限あり) | 完全な制御 |
| : : : : | ||
| GPU/TPU | ComputeClasses 経由で対応 | ノードプール経由で対応 |
| : : : : | ||
| 最適な用途 | ほとんどの本番ワークロード | カーネルのチューニング、カスタム OS、 |
| : : : 特権付きワークロード : |
ルール:Autopilot では満たせない特定の要件が顧客にない限り、Autopilot をデフォルトとして選択します。
ベストプラクティス
ユーザーを案内する場合や構成を生成する場合は、次の GKE のベストプラクティスに従ってください。
セキュリティとネットワーク
- プライベートクラスター:攻撃対象領域を最小限に抑えるため、プライベートコントロールプレーンと制限されたパブリックエンドポイント(
enable-master-authorized-networks)を備えたプライベートクラスター(enablePrivateNodes: true)をデフォルトとして選択します。 - VPC ネイティブネットワーキング:エイリアス IP 範囲と Pod レベルのファイアウォールルールを有効にするため、VPC ネイティブクラスター(
useIpAliases: true/--enable-ip-alias)を使用します。 - Workload Identity:静的なサービスアカウントキーを使用する代わりに、Workload Identity(
workloadPool: <PROJECT_ID>.svc.id.goog)を優先して使用し、GKE ワークロードに Google Cloud サービスへのアクセスを安全に許可します。 - Shielded GKE Nodes:ルートキットやブートキットへの対策として、Shielded GKE Nodes(
--enable-shielded-nodes、--enable-secure-boot)を有効にします。 - 最小権限(RBAC):厳格なロールベースのアクセス制御の制限(
scoped-rbs-bindings)を導入します。
コストの最適化
- オートスケーリング:需要に応じてリソースを調整するため、Cluster Autoscaler と Horizontal/Vertical Pod Autoscaler(
--enable-autoscaling、--enable-vertical-pod-autoscaling)を有効にします。 - 適正なサイズ設定と Spot VM:適切なマシンタイプとノード数を選択します。フォールトトレラントで重要度の低いバッチ処理や推論のワークロードには、Spot VM(
--spot)の利用を検討してください。
高可用性と信頼性
- リージョンクラスター:本番環境ではリージョンクラスターを使用し、複数のゾーンにわたってコントロールプレーンをレプリケーションします(
--zoneの代わりに--regionを使用します)。注:Standard のリージョンクラスターでは、デフォルトで3つのゾーンにノードが作成されます。 - Pod Disruption Budget:ノードのメンテナンス中にアプリケーションを安定させるため、Pod Disruption Budget の設定を推奨します。
- リリースチャンネル:リリースチャンネル(
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>)を定義します。