概要
Gemini for Google Cloud は、あらゆるスキルレベルのユーザーを必要に応じて支援する、常時稼働の AI コラボレーターです。このラボでは、Google Cloud の AI を活用したコラボレーターである Gemini を使用して、Autopilot モードで Google Kubernetes Engine(GKE)クラスタを作成、テスト、変更する方法について説明します。
注: Duet AI は、Google の次世代モデルである Gemini に名称変更されました。このラボは、この変更を反映して更新されたものです。ラボの手順を実施する際に、ユーザー インターフェースやドキュメントで Duet AI に言及されていた場合は、Gemini と同等であると見なしてください。
注: Gemini は初期段階のテクノロジーであるため、もっともらしく見える出力でも事実に反する場合があります。Gemini からのすべての出力は、使用する前に検証することをおすすめします。詳細については、Gemini for Google Cloud と責任ある AI をご覧ください。
目標
このラボでは、次のタスクの実行方法について学びます。
- Gemini を有効にする
- Gemini にコンテキスト ベースの質問をすることで、アプリケーションをデプロイするために使用できるさまざまな Google サービスを探索する。
- Gemini にプロンプトを入力して、基本的なアプリを GKE クラスタにデプロイするために使用できるコマンドを生成する。
- Gemini にシェルコマンドの説明と生成を行わせて、GKE クラスタを作成、調査、変更する。
設定と要件
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] パネルでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] パネルでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。
タスク 1. Gemini を有効にする
まず、Google Cloud プロジェクトで Gemini を有効にし、Google Cloud Qwiklabs ユーザー アカウントに必要な権限を設定します。
-
Google Cloud コンソールのツールバーの右上にある Cloud Shell アイコン(
)をクリックします。
-
次のコマンドを実行して、プロジェクト ID とリージョンの環境変数を設定します。
PROJECT_ID=$(gcloud config get-value project)
REGION={{{project_0.default_region|lab region}}}
echo "PROJECT_ID=${PROJECT_ID}"
echo "REGION=${REGION}"
注: リージョンは、以下のサンプル プロンプトとは異なる場合があるため、注意してください。
- ログインに使用した Google ユーザー アカウントを環境変数に保存するには、以下のコマンドを実行します。
USER=$(gcloud config get-value account 2> /dev/null)
echo "USER=${USER}"
-
[承認] をクリックします(求められた場合)。
-
Gemini 用の Cloud AI Companion API を有効にします。
gcloud services enable cloudaicompanion.googleapis.com --project ${PROJECT_ID}
- Gemini を使用できるよう、必要な IAM ロールを Google Cloud の Qwiklabs ユーザー アカウントに付与します。
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/cloudaicompanion.user
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/serviceusage.serviceUsageViewer
これらのロールを追加すると、ユーザーは Gemini の支援機能を利用できるようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Gemini 用の Cloud AI Companion API を有効にして、IAM ロールを付与する
タスク 2. GKE クラスタをデプロイする
このタスクでは、Google Cloud コンソールと Cloud Shell を使用して GKE クラスタをデプロイします。
次の例では、あなたはウェブ アプリケーションを開発するチームのインフラストラクチャ設定を担当するインフラストラクチャ管理者です。組織全体はコンテナと Kubernetes を使用して標準化されているため、チームは Google Cloud で Kubernetes を使用してウェブ アプリケーションを実行する方法を理解したいと考えています。また、インフラストラクチャ管理のオーバーヘッドをできる限り少なくして、これを実現する方法も知りたいと考えています。
このケースでは、e コマース ウェブアプリを構成する一連のマイクロサービスを実行する既存の GKE クラスタがあります。Gemini の支援を受けながら、改善すべき領域を特定します。
-
Google Cloud コンソールのタブに戻ります。
-
Google Cloud コンソール ページを更新します。
-
Google Cloud コンソールのツールバーの右上にある Gemini アイコン(
)をクリックします。
-
[チャットを開始] ボタンをクリックします。
-
次のプロンプトを入力します。
ノードとコントロール プレーンの管理を所有せずに、Google Cloud で Kubernetes を実行するにはどうすればよいですか?
注: Duet AI のプロンプトを作成するときは、対象分野のエキスパートに質問する場合に提供するのと同じ分量の詳細とコンテキストを使用します。
Gemini から、次のような回答が返されます。
ノードとコントロール プレーンの管理を所有することなく Google Cloud で Kubernetes を実行するには、Autopilot モードで Google Kubernetes Engine(GKE)を使用します。Autopilot モードでは、Google がコントロール プレーンとシステム コンポーネントを管理し、ワーカーノードも管理します。
注: Gemini があなたのプロンプトとその回答を、モデルをトレーニングするためのデータとして使用することはありせん。詳しくは、Gemini in Google Cloud がデータを使用する方法をご覧ください。
Gemini が提供した情報から類推すると、GKE Autopilot クラスタがニーズを満たせるようです。
タスク 3: GKE Autopilot クラスタをデプロイする
このタスクでは、GKE Autopilot クラスタをデプロイする方法について Gemini に指示します。
- 次のプロンプトを入力します。
GKE Autopilot クラスタを作成するにはどうすればよいですか?
Gemini は、Google Cloud コンソールを使用してクラスタを作成する手順と、Google Cloud CLI を使用してクラスタを作成する手順を返します。
注: Gemini にサポートを依頼する場合は、できるだけ多くのコンテキストと具体的な詳細情報を提示する必要があります。AI 生成のレスポンスはさまざまな可能性に基づいているため、正確であることが重要です。
- CLUSTER_NAME、REGION、PROJECT_ID などのプレースホルダ値を含むレスポンスが表示された場合は、その情報をプロンプトに追加すると、さらに有用なレスポンスが得られる可能性があります。より多くの詳細でプロンプトを絞り込みます。
gcloud CLI を使用して、現在のプロジェクトの {{{project_0.default_region|lab region}}} リージョンに gemini-demo という名前の GKE Autopilot クラスタを作成するコマンドは何ですか?
Gemini から、次のような回答が返されます。
gcloud container clusters create-auto gemini-demo --region {{{project_0.default_region|lab region}}}
注: Gemini から返されたコマンドが上記の例と大きく異なる場合は、上記のコマンドを使用してください。
- Gemini ツールバーの Cloud Shell アイコン(
)をクリックします。
コマンドが Cloud Shell にコピーされます。
-
Enter
キーを押してコマンドを実行します。
注: クラスタのデプロイが完了するまで数分待つ必要があります。
プロビジョニングが完了すると、[Kubernetes Engine] > [クラスタ] ページは、以下のスクリーンショットのようになります。

- クラスタ名 [gemini-demo] をクリックすると、クラスタの詳細が表示されます。
詳細を確認するには、ページを下までスクロールします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
GKE クラスタをデプロイする
タスク 4 : サンプルのウェブ アプリケーションをデプロイする
Autopilot モードの GKE クラスタを作成したので、チームがこのインフラストラクチャで実行するウェブ アプリケーションと同様のサンプル ウェブ アプリケーションを実行したいと考えています。内部的には、コンテナ化されたウェブ アプリケーションのテスト用にブックマークされた次の Google のコンテナ イメージ us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 が表示されます。
-
Gemini ペインで次のプロンプトを入力して、送信アイコン()をクリックします。
イメージ us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 の hello-server という Deployment を作成する kubectl コマンドはどれですか。
Gemini から、次のような回答が返されます。
イメージ us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 の hello-server という Deployment を作成するには、次の kubectl コマンドを使用します。
kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Cloud Shell で上記の コマンドを実行します。
- ウェブサーバーの作成が完了したので、インターネットに公開するために、ウェブサーバーの前でのロードバランサのプロビジョニングをテストします。
Gemini ペインで次のプロンプトを入力して、送信アイコン()をクリックします。
この Deployment をロードバランサでポート 80 とターゲット ポート 8080 に公開する kubectl コマンドはどれですか。
Gemini から、次のような回答が返されます。
ロードバランサを使用して hello-server という名前のデプロイを公開するには、次の kubectl expose コマンドを使用します。
kubectl expose deployment hello-server --type LoadBalancer --port 80 --target-port 8080
これにより、コンテナの Compute Engine ロードバランサが作成されます。
常により多くのコンテキストを提供することは有益ですが、プロンプトに含まれていなくても、Gemini が会話履歴から Deployment 名を pull できていることがわかります。
-
Cloud Shell で、Gemini が提供するコマンドを実行します。
-
次に、ウェブサーバーが稼働中で、リクエストを適切に処理しているかどうかを確認します。デプロイしたアプリケーションを表示するには、作成した Kubernetes サービスから外部 IP アドレスを取得する必要があります。
次のプロンプトを入力します。
このロードバランサに関連付けられた外部 IP アドレスを確認する kubectl コマンドはどれですか。
Gemini から、次のような回答が返されます。
ロードバランサに関連付けられた外部 IP を確認するには、次の kubectl コマンドを使用します。
kubectl get service hello-server
これにより、サービスの名前、サービスの種類、クラスタ IP アドレス、外部 IP アドレス、サービスがリッスンしているポートが出力されます。
- Cloud Shell で、Gemini が提供するコマンドを実行します。
数分後、上記の kubectl コマンドを実行すると、次のような出力結果が得られます。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-server LoadBalancer 34.118.227.57 35.225.15.112 80:31473/TCP 6m18s
- ブラウザで別のタブを開き、クラスタの外部 IP アドレスに移動します。IP アドレスが安全な接続をサポートしていないというメッセージが表示された場合は、[サイトへ移動] をクリックします。
タブに hello-app が実行されていることが表示されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
サンプル ワークロードをデプロイする
ラボを終了する
ラボでの学習が完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Qwiklabs から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
- 星 1 つ = 非常に不満
- 星 2 つ = 不満
- 星 3 つ = どちらともいえない
- 星 4 つ = 満足
- 星 5 つ = 非常に満足
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバック、ご提案、修正が必要な箇所については、[サポート] タブからお知らせください。
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。