GKE Autopilot: Qwik Start

ラボ 25分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

GSP957

Google Cloud セルフペース ラボのロゴ

概要

Google Kubernetes Engine(GKE)Autopilot は、アプリケーション ワークロードの実行に必要な物理インフラストラクチャを Google がユーザーに代わって作成、サイズ設定、自動スケーリングする新しいマネージド運用モードです。

このラボでは、Kubernetes の構成とコマンドを使用してアプリケーションをコンテナ化し、GKE Autopilot クラスタにデプロイする方法を実践形式で学びます。

Autopilot による GKE の簡素化

GKE のコンピューティング インフラストラクチャは、個々のコンピューティング インスタンスに基づく「ノード」で構成されています。
ノードのグループは「クラスタ」と呼ばれます。 GKE の基盤となっているのは Kubernetes です。Kubernetes は、Google が 15 年以上にわたってコンテナで本番環境のワークロードを運用してきた経験を活かして開発された、オープンソースのクラスタ オーケストレーション プラットフォームです。Kubernetes は、Google がグローバル規模で運用する主力サービスと同じ設計原則に基づいており、次の機能を備えています。

  • 自動管理
  • アプリケーション コンテナのモニタリングと Liveness Probe
  • 自動スケーリング
  • ローリング アップデート

GKE Autopilot では、高可用性とセキュリティのベスト プラクティスを使用したクラスタの最適化と構成、クラスタの健全性のモニタリング、ワークロードをいつでも実行できるようにするために必要なクラスタ容量の再計算といった Google の機能を活用できます。

GKE Autopilot を使用するデベロッパーは、運用保守ではなく、アプリケーション開発に集中できます。アプリケーションに必要なステートレス サービスとステートフル サービスのミッション クリティカルな組み合わせの実行には、引き続き Kubernetes を使用します。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

タスク 1. Cloud Code にアクセスする

Cloud Code 拡張機能を含む統合開発環境(IDE)はすでに設定されているため、ワークロードを GKE クラスタに簡単にデプロイできます。このラボでは、Cloud Code を使用して Google Cloud のプロダクトとサービスにアクセスします。クラスタ リソースに関する情報は、エディタまたはコマンドラインから確認できます。

  1. [ラボの詳細] パネルから IDE の URL をコピーします。

  2. URL を新しいブラウザ ウィンドウに貼り付けます。

    注:
    ラボ環境では、開発環境を使用してサービスにアクセスします。この環境から GKE Autopilot クラスタを直接制御できます。

タスク 2. リポジトリのクローンを作成する

最初のタスクは、実行するコードを含むリポジトリのクローンを作成することです。バージョン管理されているソースコードを取得して、ラボを開始します。

  1. Cloud Code 環境で、サイドバーの [Source Control] ボタンを選択します。

    ハイライト表示された [Source Control] ボタン

  2. [Clone Repository] ボタンをクリックします。

  3. 次の GitHub リポジトリを、プロンプトが表示された検索バーに貼り付けます。

    https://github.com/subfuzion/voting-demo.git
  4. 検索バーの下のプルダウン リストで [Clone from URL] をクリックします。

  5. [OK] をクリックして場所を確定します。

    注:
    フォルダを信頼するかどうかを確認するポップアップが表示されたら、[Yes I trust the Authors] を選択します。
  6. リポジトリのフォルダを開くよう求められたら、[Open] をクリックします。

    [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 リポジトリのクローンを作成する

タスク 3. クラスタを KubeConfig に追加する

GKE Autopilot はラボ内で事前プロビジョニングされています。このセクションでは、対象のクラスタを参照するように環境の KubeConfig を更新します。更新が完了したら、デモ アプリケーションのデプロイを開始できます。

  1. ナビゲーション メニューに移動し、[Terminal] > [New Terminal] を選択します。

    新しいターミナルを開く

    注:
    既存バージョンの kubectl クライアントと Kubernetes カスタム クライアントには、クライアントと Google Kubernetes Engine の間の認証を管理するためのプロバイダ固有のコードが含まれています。 v1.26 以降、このコードは OSS kubectl の一部として含まれなくなります。
    GKE ユーザーは、別の認証プラグインをダウンロードし、それを使用して GKE 固有のトークンを生成することが必要になります。 この新しい gke-gcloud-auth-plugin バイナリは、Kubernetes client-go 認証情報プラグイン メカニズムを使って、GKE に対応できるよう kubectl の認証機能を拡張します。
    詳細については、こちらのドキュメントをご覧ください。
  2. クラスタの認証情報をローカルの kube-config に追加します。

    gcloud container clusters get-credentials dev-cluster --region {{{project_0.default_region | Region}}}

    想定される出力:

    Fetching cluster endpoint and auth data. kubeconfig entry generated for dev-cluster.

    [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クラスタを KubeConfig に追加する

    注:
    この処理が検証されるまでに数分かかることがあります。

タスク 4. アプリをビルドしてデプロイする

アプリケーションをデプロイする前に、そのアプリケーション用のコンテナを用意する必要があります。この環境では、web コンテナと vote コンテナをビルドする skaffold マニフェストを使用します。このラボでは、artifact registry を使用してコンテナ イメージをホストしてから、Kubernetes マニフェストを使用してイメージをデプロイします。

  1. ターミナルを開きます(まだ開いていない場合)

  2. アプリケーション フォルダに移動します

    cd ~/voting-demo/v2
  3. デプロイのリージョンを設定します

    gcloud config set compute/region {{{ project_0.default_region | "REGION" }}}
  4. skaffold を使用してソース アプリケーションをデプロイします

    skaffold run --default-repo=gcr.io/{{{ project_0.project_id | "PROJECT_ID" }}}/voting-app --tail 注:
    このデプロイでは、リソースのスピンアップに 1 分ほどかかります。
    ソースからコンテナ イメージがビルドされ、使用可能になった時点で GKE Autopilot クラスタにデプロイされます。

    [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリをデプロイする

タスク 5. アプリを実行する

次に、アプリケーションが指定したとおりに動作することをテストします。

  1. アプリケーションをテストするための新しいターミナルを起動します。

  2. 次のコマンドを実行して、web-external ロードバランサが作成されたことを確認します

    kubectl get svc web-external --output=json | jq -r .status.loadBalancer.ingress[0].ip 注:
    ロードバランサが IP アドレスを返すまでに少し時間がかかることがあります。 IP が返されるまで待ってから、次に進んでください。
  3. ブラウザで新しいタブを開きます

  4. HTTP サイトとして返された IP の値を入力します

    http://[web-external-ip]

    想定される出力:

    2 つのオプション(TABS と SPASES)が表示された投票(voting)アプリ

    注:
    GKE Autopilot にデプロイされたアプリケーションにインターネット経由でアクセスできるようになりました。

タスク 6. アプリをテストする

  1. [TABS] または [SPACES] のいずれかに投票します。

    注:
    どちらかのボタンを好きな回数だけ押します。次のステップで入力をテストします。
  2. 投票(voting)アプリの URL を次のように更新します。

    http://[web-external-ip]/results

    出力例:

    { "results": { "a": 0, "b": 1 }, "success": true }

    [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリをテストする

    よくできました。 これで、投票(voting)アプリケーションがクラスタにデプロイされました。GKE Autopilot は Kubernetes インフラストラクチャの管理を自動的に行います。

タスク 7. クリーンアップする

  1. アプリケーションを実行しているターミナルで Ctrl+C キーを押して、アプリケーションを終了します。

    注:
    skaffold アプリケーションはまだアクティブです。skaffold アプリケーションを再実行すると、先ほど作成した既存のリソースが使用されます。
    アプリケーションを削除するには、アプリケーションが不要になったことを skaffold に伝える必要があります。
  2. Skaffold にリソースを削除するよう指示します

    skaffold delete

    想定される出力:

    Cleaning up... - deployment.apps "database" deleted - service "database" deleted - deployment.apps "vote" deleted - service "vote" deleted - deployment.apps "web" deleted - service "web" deleted - service "web-external" deleted

    [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クラスタからアプリを削除する

お疲れさまでした

これで、コンテナ化されたアプリケーションが Google Kubernetes Engine にデプロイされました。 このラボでは、次のタスクを実行しました。

  • 外部の公開リポジトリのクローンを作成する
  • GKE Autopilot クラスタを使用するように KubeConfig を更新する
  • Skaffold を使用して、ソフトウェアをインストールせずにリモートの Artifact Registry イメージを作成する
  • GKE Autopilot にアプリケーションをデプロイする
  • HTTP を使用してアプリケーション エンドポイントをテストする
  • 既存のデプロイ済みリソースをクリーンアップする

次のステップと詳細情報

このラボは Qwik Start と呼ばれるラボシリーズの一部です。これらのラボでは、Google Cloud で利用できる多くの機能を体験できます。Skills カタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 6 月 3 日

ラボの最終テスト日: 2024 年 6 月 3 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。