mcpField
G
gke-cluster-creator

gke-cluster-creator

github.com/googlecloudplatformクラウド・DevOps16948 回インストール2 日前に更新
リポジトリ

gke-cluster-creator について

gke-cluster-creatorは、ベストプラクティスのテンプレートとカスタマイズ手順でGKEクラスター作成を案内します。クラスター種別や設定を選ぶチーム向けで、Standard、Autopilot、GPU構成のテンプレートを用意し、MCPツールで作成します。

主な機能

  1. 01クラスター設定テンプレートの選択
  2. 02必須パラメーターの収集と検証
  3. 03必要に応じたクラスター設定の変更
  4. 04ツールによるGKEクラスター作成

活用シーン

  1. 01開発・テスト用のゾーンクラスター作成
  2. 02高可用性の本番クラスター設定
  3. 03AI推論向けGPUクラスターの選択

MCP 対応

create_cluster MCPツールを呼び出してGKEクラスターを作成し、最終設定をツールのパラメータースキーマに照らして検証します。

インストール

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

$npx skills add https://github.com/googlecloudplatform/gke-mcp --skill gke-cluster-creator

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

詳細

GKE クラスター作成スキル

このスキルは、ベストプラクティスに基づくテンプレートを提供し、カスタマイズの手順を案内することで、ユーザーによる Google Kubernetes Engine (GKE) クラスターの作成を支援します。

core_behavior

  1. テンプレートの選択:
    • ユーザーがテンプレートを指定していない場合は、利用可能なテンプレートを提示します。
    • トレードオフ(例:コストと可用性、Autopilot と Standard)を説明します。
  2. カスタマイズ:
    • テンプレートが選択されたら、デフォルト設定(JSON/YAML)を提示します。
    • 必須の不足情報 project_id、location、cluster_name をユーザーに尋ねます。
    • オプションのフィールド(例:machineType、nodeCount、network)を変更するかどうかを尋ねます。
  3. 検証:
    • project_id、location、cluster_name が設定されていることを確認します。
    • 設定が create_cluster MCP ツールのスキーマに適合していることを確認します。
  4. 実行:
    • 最終設定を指定して create_cluster MCP ツールを呼び出します。

best_practices

ユーザーを案内したり設定を生成したりする際は、以下の GKE クラスター作成のベストプラクティスに従ってください。

セキュリティ
  1. プライベートクラスター:攻撃対象領域を最小限に抑えるため、プライベートコントロールプレーンと制限されたパブリックエンドポイントを備えたプライベートクラスターをデフォルトにします。
  2. VPC ネイティブネットワーキング:エイリアス IP 範囲を有効にし、Pod レベルのファイアウォールルールとネットワークセキュリティの強化を可能にする VPC ネイティブクラスターを使用します。
  3. Workload Identity:静的なサービスアカウントキーを使用するのではなく、GKE ワークロードに Google Cloud サービスへのアクセス権を安全に付与するために Workload Identity を優先します。
  4. Shielded GKE Nodes:ルートキットやブートキットから保護するため、Shielded GKE Nodes を有効にします。
  5. 最小権限(RBAC):ユーザーとワークロードに最小限の権限を付与するよう、厳格なロールベースのアクセス制御を導入します。
コスト最適化
  1. 自動スケーリング:需要に応じてリソースを調整するため、Cluster Autoscaler と Horizontal Pod Autoscaler を有効にします。
  2. 適正なサイズ設定:適切なマシンタイプとノード数を選択します。障害に強い非クリティカルなワークロードでは、Spot VM の使用を検討します。
高可用性と信頼性
  1. リージョンクラスター:本番環境では、複数のゾーンにコントロールプレーンを複製して可用性を確保するため、リージョンクラスターを使用します。(注:標準のリージョンクラスターでは、デフォルトで 3 つのゾーンにノードが作成されます。)
  2. Pod Disruption Budgets:ノードのメンテナンス中にアプリケーションの安定性を保つため、Pod Disruption Budgets の設定を推奨します。
  3. リリースチャンネル:クラスターを自動で安全にアップグレードするため、リリースチャンネル(例:Regular または Stable)に登録します。

templates

1. Standard Zonal(コスト効率の高い開発/テスト)

最適な用途:開発、テスト、クリティカルでないワークロード。

{
  "name": "projects/{PROJECT_ID}/locations/{ZONE}/clusters/{CLUSTER_NAME}",
  "initialNodeCount": 1,
  "nodeConfig": {
    "machineType": "e2-medium",
    "diskSizeGb": 50,
    "oauthScopes": [
      "https://www.googleapis.com/auth/devstorage.read_only",
      "https://www.googleapis.com/auth/logging.write",
      "https://www.googleapis.com/auth/monitoring",
      "https://www.googleapis.com/auth/service.management.readonly",
      "https://www.googleapis.com/auth/servicecontrol",
      "https://www.googleapis.com/auth/trace.append"
    ]
  }
}
2. Standard Regional(高可用性)

最適な用途:高可用性が求められる本番ワークロード。 注:デフォルトで 3 つのノードが作成されます(リージョン内の各ゾーンに 1 つ)。

{
  "name": "projects/{PROJECT_ID}/locations/{REGION}/clusters/{CLUSTER_NAME}",
  "initialNodeCount": 1,
  "nodeConfig": {
    "machineType": "e2-standard-4",
    "diskSizeGb": 100,
    "oauthScopes": ["https://www.googleapis.com/auth/cloud-platform"]
  }
}
3. Autopilot(運用不要)

最適な用途:ノードを管理したくない場合の、ほとんどのワークロード。

{
  "name": "projects/{PROJECT_ID}/locations/{REGION}/clusters/{CLUSTER_NAME}",
  "autopilot": {
    "enabled": true
  }
}
4. GPU 推論(L4)

最適な用途:AI/ML 推論、小規模モデルのサービング。 注:g2-standard-4 のクォータが必要です。

{
  "name": "projects/{PROJECT_ID}/locations/{REGION}/clusters/{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)

最適な用途:大規模モデルのトレーニング/推論。 注:コストが高く、厳しいクォータ要件があります。

{
  "name": "projects/{PROJECT_ID}/locations/{REGION}/clusters/{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"]
  }
}

instructions

  • 必ず、コンテキストに project_id がない場合はユーザーに確認してください。
  • 必ず、location(リージョンまたはゾーン)を確認してください。
  • 必ず、一意の cluster_name を確認してください。
  • ユーザーが Access to Google Cloud APIs を必要としているか確認してください(最新の GKE では、デフォルトの cloud-platform スコープが通常最適です)。
  • GPU クラスターまたはリージョンクラスターを選択した場合は、費用についてユーザーに警告してください。
  • クラスターの作成には create_cluster MCP ツールを使用してください。parent 引数は projects/{PROJECT_ID}/locations/{LOCATION}、cluster 引数は JSON オブジェクトです。cluster.name は短い名前のみです(例:「my-cluster」)。
  • 重要:create_cluster を呼び出す際、parent 引数でスコープが定義されるため、cluster.name にはリソースパス全体ではなく、短い名前(例:my-cluster)を指定してください。

example_usage

ユーザー:「GKE クラスターを作成したいです。」 モデル:「お手伝いします。どの種類のクラスターが必要ですか?

  1. 標準ゾーンクラスター:開発/テストに適しています。
  2. 標準リージョンクラスター:高可用性を実現します。
  3. Autopilot:完全マネージドです。
  4. GPU 対応:AI/ML ワークロード向けです。」

ユーザー:「標準ゾーンクラスターをお願いします。」 モデル:「承知しました。いくつか詳細をお知らせください。

  • プロジェクト ID
  • ゾーン(例:us-central1-a)
  • クラスター名」

ユーザー:「プロジェクトは my-proj、ゾーンは us-west1-b、名前は dev-cluster です。」 モデル:「使用する構成は次のとおりです。 [JSON view] 続行しますか?」

コメント