Compute Advisor を使用して GKE クラスタを設計して最適化する

このドキュメントでは、Gemini を搭載した AI 搭載インターフェースである Compute Advisor にプロンプトを入力して、クラスタの計画と設計を行う方法について説明します。GKE クラスタを作成する前または作成時に構成する必要があるコンポーネントの詳細については、GKE の概要をご覧ください。

Compute Advisor は、ハードウェア オプションの評価、デプロイ費用の見積もり、クラスタの推奨構成の表示に役立ちます。推奨事項をカスタマイズするために、Compute Advisor は割り当て上限、既存の予約、確約利用割引(CUD)デフォルトのリージョンとゾーンリソース ロケーションの制約を確認して、Google Cloud プロジェクトを評価します。Compute Advisor を使用して計画を立てることで、GKE クラスタを作成または変更する前に、ワークロードに最適な構成を実現できます。

制限事項

Google Cloud コンソールで Compute Advisor を使用する場合、リソースを直接作成、変更、削除することはできません。

始める前に

Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

必要なロール

Gemini にアクセスしてプロンプトを表示するために必要な権限を取得するには、プロジェクトに対する Kubernetes Engine クラスタ閲覧者 roles/container.clusterViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、Gemini にアクセスしてプロンプトを表示するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Gemini にアクセスしてプロンプトを表示するには、次の権限が必要です。

  • クラスタのリストを表示するには: container.clusters.list

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Google Cloud コンソールで Compute Advisor にアクセスする

Google Cloud コンソールで Compute Advisor にアクセスする手順は次のとおりです。

  1. Google Cloud コンソールで、[概要] ページに移動します。

    [概要] に移動

  2. [Compute Advisor でインフラストラクチャを設計する] セクションでは、次の情報を確認できます。

    Compute Advisor ページのインターフェース要素。

    上のスクリーンショットに表示されている UI 要素は次のとおりです。

    • クイック アクション プロンプト カード: それぞれにプロンプトのサンプルが含まれるカードのセット。カードをクリックすると、 Google Cloud コンソールによってプロンプト ボックスにサンプル プロンプトが自動的に入力されます。

    • プロンプト ボックス: このフィールドで、プロンプトを入力して送信できます。プロンプトを送信するには、[プロンプトを送信] をクリックします。

    • 以前の会話を表示する: 過去の会話の詳細を表示して再開したり、不要になった会話を削除したりできます。

    • 会話履歴のサイドパネル: 最近のチャットが表示されます。このパネルは、[概要] ページからプロンプトを開始した後にのみ表示されます。このパネルは次のように操作できます。

      • 新しい会話を開始するには、[新しいチャット] をクリックします。

      • 最近の会話を再開するには、[最近のチャット] セクションで会話をクリックします。

      • すべての会話の一覧を表示するには、[すべて表示] をクリックします。[履歴] ページでは、過去の会話の詳細を表示して再開したり、不要になった会話を削除したりできます。

プロンプトの Compute Advisor

プロンプトを送信すると、Compute Advisor はレスポンスの生成を開始します。ペインが表示され、次のスクリーンショットに示すように、 Google Cloud コンソールにプロンプトに対するレスポンスがペインに表示されます。

Compute Advisor ペインに生成された推奨事項のレスポンス。

プロンプトに基づいて、レスポンス ペインには次の要素が含まれます。

  • コンテキスト グラウンディング: Compute Advisor は、プロジェクトのコンテキストを自動的に評価し、割り当て上限、既存の予約、CUD、デフォルトのリージョンとゾーン、リソースのロケーション制約など、高度にカスタマイズされた推奨事項を提供します。

  • インタラクティブなコード スニペット: Compute Advisor は、gcloud コマンド、REST API メソッド、または Terraform リソースを生成します。これらのコード スニペットをコピーして貼り付けるか、Cloud Shell で実行できます。

  • ビジュアル キャンバス: Compute Advisor は、推奨事項を構造化された表と並列比較に整理します。このビューは、プロダクト機能とアーキテクチャ アプローチの評価に役立ちます。また、ユースケースの実装計画も提供します。

以降のセクションでは、プロンプトの作成に関するベスト プラクティスと、GKE クラスタを作成または変更する前に使用できるプロンプトの例について説明します。

プロンプトのベスト プラクティス

Compute Advisor から最も正確で実用的な推奨事項を取得するには、コードブロックと同じ方法でプロンプトを構成することをおすすめします。このアプローチでは、明確なパラメータ宣言、ロール定義、具体的な指示、明示的な出力形式を使用して、生成 AI をガイドします。

Compute Advisor にプロンプトを入力する際は、次のベスト プラクティスを検討してください。

  • 設計と計画に重点を置く: GKE クラスタ エラーのトラブルシューティングに Compute Advisor を使用することはおすすめしません。これらのエラーを解決するには、GKE のトラブルシューティングをご覧ください。

  • ペルソナまたはロールを指定する: Compute Advisor が採用するターゲット ロールまたはペルソナ(IT 管理者、AI 研究者、プラットフォーム エンジニアなど)を宣言します。このアプローチにより、推奨事項のトーン、詳細度、専門知識のレベルが決まります。

  • 明確な番号付きの指示を提供する: 目標を具体的な手順に分解します。このアプローチにより、Compute Advisor の推論プロセスが構造化され、Compute Advisor がすべての要件に対応できるようになります。

  • 特定の出力形式を定義する: チュートリアル説明、Markdown 比較表、すぐに使用できる gcloud コードブロックなど、推奨事項の形式を明示的に指定します。

  • 自動コンテキスト グラウンディングを活用する: デフォルトのリージョンまたはゾーン、使用可能な割り当て、CUD、リソースのロケーション制約をプロンプトに含める必要はありません。Compute Advisor は、 Google Cloud プロジェクトでこの情報にアクセスできます。

  • 設計を繰り返し改善する: 新しいプロンプトを送信して、Compute Advisor が生成したレスポンスを変更または拡張できます。たとえば、新しい会話を開始せずに、ネットワーキングの推奨事項をデプロイ プランに追加したり、ストレージ要件を変更したりできます。

プロンプトの例

次のプロンプトの例は、GKE クラスタの設計と最適化に役立ちます。

  • クラスタ トポロジとノードプールの構成: ワークロードに最適な GKE モード、マシンタイプ、ノードプールの構成を決定するには、次のようなプロンプトを使用します。

    Act as a cloud architect. I need to design a GKE cluster topology for a
    scalable microservices application that requires both GPU nodes for AI
    inference and CPU nodes for general-purpose APIs.
    
    Please provide the following:
    1. A comparison of running this workload on GKE Autopilot versus GKE Standard.
    2. Recommendations for GKE machine types for the GPU node pool.
    3. The optimal autoscaling and auto-provisioning settings.
    4. A YAML manifest that configures tolerations for GPU taints, which are required for AI workloads.
    
    Format the comparison as a Markdown table, and provide the cluster creation
    steps as a ready-to-use gcloud CLI command.
    
  • プロビジョニング モデルと費用最適化: プロビジョニング モデルを評価し、バッチ処理ワークロードのリソース使用率を最適化するには、次のようなプロンプトを使用します。

    Act as an IT administrator. I need to design a cost-optimized GKE cluster
    to run large-scale batch processing workloads that are fault-tolerant.
    
    Please provide the following:
    1. A cost and reliability comparison of using Spot VMs versus standard VMs
       in GKE node pools.
    2. An explanation of how to configure Kueue for queueing training jobs.
    3. A warning about the risk of latency for real-time inference when using Spot VMs.
    4. A YAML manifest to deploy the workloads onto Spot VM nodes.
    
    Format the comparison as a Markdown table, and provide the manifest as a
    ready-to-use code block.
    
  • ステートフル ディスク トポロジ: GKE 上の高可用性データベース用に最適化された永続ストレージ アーキテクチャを見つけるには、次のようなプロンプトを使用します。

    Act as a storage engineer. I need to design a StatefulSet topology in
    GKE for a distributed database that relies on Persistent Disks.
    
    Please provide the following:
    1. A comparison of regional Persistent Disks versus zonal Persistent Disks.
    2. An explanation of how the standard-rwo StorageClass prevents deadlocks in zonal Persistent Disks.
    3. A YAML manifest that shows how to deploy a stateful workload with the "volumeBindingMode: WaitForFirstConsumer" field.
    
    Format the response with Markdown headers, and provide the deployment
    manifest as a ready-to-use code block.
    
  • Karpenter 移行プロンプト: AWS Karpenter から GKE 自動スケーリング機能への移行を計画するには、次のようなプロンプトを使用します。

    Act as a Kubernetes migration specialist. I am migrating an EKS cluster
    that uses Karpenter to GKE. Please translate my AWS Karpenter
    NodePool into a GKE custom ComputeClass.
    
    Please provide the following:
    1. A summary that maps Karpenter concepts to GKE Node Auto-Provisioning (NAP) and ComputeClasses.
    2. A YAML manifest that shows how a ComputeClass provides the same variety of instance types and weighting for  Spot VMs as Karpenter.
    3. The changes required in the Pod manifest to use the new ComputeClass.
    
    Format the mapping as a Markdown table, and provide the GKE
    manifests as code blocks that are ready to use.
    

次のステップ