arrow_back

PCA の準備 - Kubernetes クラスタでのコンテナ化されたアプリケーションの更新とスケールアウト

ログイン 参加
700 以上のラボとコースにアクセス

PCA の準備 - Kubernetes クラスタでのコンテナ化されたアプリケーションの更新とスケールアウト

ラボ 1時間 10分 universal_currency_alt クレジット: 5 show_chart 上級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

このラボは、「Challenge: GCP Architecture」クエストのチャレンジラボに似ています。

このチャレンジラボでは、一連のタスクを制限時間内に完了する必要があります。各ステップの説明に沿って進める形式ではなく、提示されるシナリオでタスクを完了する方法をご自身で見つけていただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

チャレンジラボは GCP のコンセプトについて学習するものではありません。ここでは、高度な Google Compute Engine(GCE)スキルを駆使して、提示された課題に対するソリューションを構築していただきます。このラボは GCE のスキルを備えた受講者を対象としています。ぜひチャレンジしてください。

テスト対象トピック

  • Docker アプリケーションを更新して、新しいバージョンをコンテナ リポジトリに push します。
  • 更新したアプリケーションのバージョンを Kubernetes クラスタにデプロイします。
  • 2 つのレプリカを実行できるように、アプリケーションをスケールアウトします。

設定と要件

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

Google Cloud Shell の有効化

Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

チャレンジ シナリオ

あなたは、テスト環境の所有権を引き継ぎ、デプロイ対象のコンテナ化されたテスト アプリケーションの最新版を提供されました。システムのアーキテクチャ チームは、コンテナ化されたマイクロサービス アーキテクチャの導入を開始しています。あなたは、このコンテナ化されたテスト用ウェブ アプリケーションを管理する責任があります。まず、echo-app という名前が付けられたテスト アプリケーションの最初のバージョンを、echo-cluster という Kubernetes クラスタの echo-web という Deployment にデプロイします。

  1. その前にナビゲーション メニューを開き、[Cloud Storage] を選択します。Deployment Manager スクリプトの最後の手順を踏んで環境を設定し、バケットを作成します。

  2. このバケットが表示されるまで、Storage ブラウザを更新します。コンソールの表示が次のようになったら、先に進むことができます。

  1. 操作を続ける前に、GKE クラスタが作成されていることを確認します。ナビゲーション メニューを開き、[Kubernetes Engine] > [クラスタ] を選択します。

echo-cluster の横に緑色のチェックマークが表示されているのを確認したら、続行します。

  1. アプリケーションの最初のバージョンをデプロイするために、Cloud Shell で次のコマンドを実行します。
gcloud container clusters get-credentials echo-cluster --zone=us-central1-a kubectl create deployment echo-web --image=gcr.io/qwiklabs-resources/echo-app:v1 kubectl expose deployment echo-web --type=LoadBalancer --port 80 --target-port 8000

タスク 1. チャレンジ

echo-web Deployment で実行中の echo-app アプリケーションを、v1 のコードから、提供された v2 のコードに更新する必要があります。また、アプリケーションを 2 つのインスタンスにスケールアウトし、すべて正常に動作していることを確認する必要もあります。

新しいタグ付きの更新版アプリケーションをビルドしデプロイする

更新されたサンプル アプリケーション(Dockerfile やアプリケーション コンテキスト ファイルなど)は、echo-web-v2.tar.gz と呼ばれるアーカイブに含まれています。このアーカイブは、gs://[PROJECT_ID] というラボ プロジェクトの Google Cloud Storage バケットにコピーされています。V2 のアプリケーションでは、アプリケーションの出力にバージョン番号が追加されます。

イメージを Google Container Registry に push する

あなたの組織では、Google Container Registry を使用してデプロイ用の Docker イメージをホストし、すべてのプロジェクトに gcr.io という Google Container Registry のホスト名を使用しています。Google Container Registry に更新済みのイメージを push してからデプロイする必要があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 gcr.io に echo-app:v2 のタグ付きイメージがあることを確認する。

更新されたアプリケーションを Kubernetes クラスタにデプロイする

このタスクでは、更新されたアプリケーションを Kubernetes クラスタにデプロイします。Deployment の名前は「echo-web」とし、ポート 80 でアプリケーションを公開する必要があります。また、クラスタの外部からアプリケーションにアクセスできる必要があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 更新したアプリケーションのバージョン(v2)を Kubernetes クラスタにデプロイする。

アプリケーションをスケールアウトする

このタスクでは、アプリケーションを 2 つのレプリカにスケールアウトする必要があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 2 つのレプリカを実行できるように、Kubernetes アプリケーションをスケールアウトする。

アプリケーションが実行されていることを確認する

このタスクでは、アプリケーションが実行されていて、かつ適切に応答していることを確認する必要があります。アプリケーションの外部 IP アドレスを使用してテストできます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーションがウェブ リクエストに V2.0.0 で応答していることを確認する。

タスク 2. トラブルシューティング

504 ゲートウェイ タイムアウト エラーが発生する: アプリケーションの初期化がまだ完了していない可能性があります。ただし、Dockerfile で設定されているデフォルト ポート(TCP ポート 8000)と以下のいずれかが一致していないことが原因の場合もあります。

  • アプリケーション イメージをデプロイする際に構成したアプリケーション ポート
  • 外部アクセスを構成した際に選択したアプリケーション ポート

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

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

始める前に

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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