
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a GKE cluster
/ 20
Enable Managed Prometheus on the GKE cluster
/ 20
Deploy an application onto the GKE cluster
/ 20
Create a logs-based metric and alerting policy
/ 10
Update and re-deploy your app
/ 10
Containerize your code and deploy it onto the cluster
/ 20
チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。
チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。
100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。
このラボは、「Google Cloud での Kubernetes の管理」スキルバッジに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
あなたは数か月前に Cymbal Shops に入社しました。Docker と Artifact Registry を使ったコンテナ操作に多くの時間を費やし、GKE で新しいデプロイや既存のデプロイを管理するコツを学びました。また、マニフェストの更新、クラスタで実行されているアプリケーションのスケーリング、モニタリング、デバッグを練習しました。
あなたのチームは、新しい e コマース ウェブサイトへのスムーズなロールアウトとアプリケーションの更新を確実に行うため、あなたに Kubernetes デプロイの管理をお願いしたいと考えています。開発チームは、あなたがこの新しい役割を担う前に、新しいスキルを実証してもらいたいと考えています。この一環として、あなたは決められた時間内にサンドボックス環境で一連のタスクを実行する必要があります。
サンドボックス環境の一部として、開発者が
spls/gsp510/hello-app
バケットからダウンロードするコードのコンテナ化されたバージョンです。
実行するタスクは次のとおりです。
新しい Cymbal Shops の e コマース ウェブサイトは GKE 上でネイティブに稼働する予定です。チームは、あなたが実際にクラスタの操作と設定を行う経験を確認したいと考えています。このセクションでは、デモ アプリケーションの実行に使用する目的で用意された一連の構成に基づいて、Kubernetes クラスタを作成する必要があります。
設定 | 値 |
---|---|
ゾーン | |
リリース チャンネル | Regular |
クラスタのバージョン |
1.27.8 以降
|
クラスタ オートスケーラー | Enabled |
ノードの数 | 3 |
最小ノード数 | 2 |
最大ノード数 | 6 |
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cymbal Shops は、顧客に優れたエクスペリエンスを提供するため、e コマース ウェブサイト戦略の一環として、クラスタの指標とモニタリングにマネージド Prometheus を使用し始めたいと考えています。このセクションでは、指標モニタリング用にクラスタでマネージド Prometheus を有効にし、サンプル Prometheus アプリケーションと Pod モニタリングをデプロイするための名前空間を作成します。
GKE クラスタで Prometheus のマネージド コレクションを有効にします。
クラスタに
サンプル Prometheus アプリをダウンロードします。
<todo>
セクション(35~38 行目)を次の構成で更新します。
nilebox/prometheus-example-app:latest
prometheus-test
metrics
GKE クラスタの
pod-monitoring.yaml
ファイルをダウンロードします。
<todo>
セクション(18~24 行目)を次の構成で更新します。
prometheus-test
prometheus-test
prometheus-test
Pod モニタリング リソースを GKE クラスタの
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cymbal Shops の開発チームは、新しいアプリケーション コードをクラスタに継続的にリリースする予定で、それを本番環境にデプロイする役割をあなたが担うことになります。このセクションでは、Kubernetes マニフェストをクラスタにデプロイし、問題を調査します。
helloweb-deployment.yaml
マニフェスト ファイルから、GKE クラスタの hello-app/manifests
フォルダにあります。
デプロイが作成されたことを確認し、helloweb デプロイの詳細ページに移動します。次のようなエラーが表示されます。
このエラーは、先ほどデプロイしたマニフェストのイメージ名が無効であることが原因のようです。イメージ名を修正する前に、ログベースの指標とアラート ポリシーを作成し、今後この問題が再発した場合にチームに通知できるようにします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cymbal Shops は、ログベースの指標とアラート ポリシーをいくつか設定することにより、Kubernetes Pod で発生したエラーと警告の数を集計し、エラーの数が一定のしきい値を超えた場合のアラート メカニズムをクラスタに設定したいと考えています。このセクションでは、それらの指標とアラート ポリシーを構築する知識があることをチームに実証します。
クエリが正しい場合、実行時に次のエラーがログに表示されます。
pod-image-errors
を使用します。10 分
Count
Sum
しきい値
任意の時系列の違反
しきい値より上
0
Pod Error Alert
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
開発チームは、エラーが発生した場合にクラスタ上のデプロイを削除および更新する知識があることをあなたに実証してほしいと考えています。このセクションでは、正しいイメージ参照を使用して Kubernetes マニフェストを更新し、デプロイを削除して、更新されたアプリケーションをクラスタにデプロイします。
helloweb-deployment.yaml
デプロイ マニフェストの image セクションにある <todo>
を、次のイメージに置き換えます。
us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
クラスタから helloweb デプロイを削除します。
更新された helloweb-deployment.yaml
マニフェストを
エラーなしで適切にデプロイされたことを確認してください。Kubernetes ワークロード ページは次のようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
最後に、Cymbal Shops の e コマース戦略の一環として、アプリケーション チームからコードが提供されます。あなたは、そのコードをコンテナ化してレジストリに保存し、そのコードの最新バージョンでクラスタを更新する必要があります。
このセクションでは、アプリケーション コードをコンテナ化して、Artifact Registry でイメージを更新し、そのイメージをクラスタのイメージに設定します。チームは、Artifact Registry に hello-app
サンプルアプリのコンテナ化されたバージョンが含まれています。あなたは、ビルド用のコードをローカルで更新し、新しいバージョンをリポジトリに push します。
hello-app
ディレクトリで、main.go ファイルを更新し、49 行目で Version: 2.0.0
が使用されるようにします。
hello-app/Dockerfile
を使用し、v2
タグを使用して Docker イメージを作成します。
新しくビルドした Docker イメージを、v2
タグを使用して Artifact Registry 内のリポジトリに push します。
Artifact Registry に push した v2
イメージが反映されるよう、helloweb デプロイのイメージを設定します。
helloweb デプロイを
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
これで完了です。このラボでは、一連の構成に基づいて GKE クラスタを作成し、Prometheus のマネージド コレクションを有効にするスキルを確認しました。さらに、クラスタで発生したエラーのトラブルシューティング、ログベースの指標とアラート ポリシーの作成、Kubernetes マニフェストの更新による問題の修正も行いました。最後に、アプリケーション コードをコンテナ化し、Docker を使用して新しいビルドを Artifact Registry 内のリポジトリに push した後、新しいイメージが反映されるようクラスタを更新し、クラスタでサービスを公開しました。これで、独自の環境で Kubernetes の管理を始める準備が整いました。
このセルフペース ラボは、「Google Cloud での Kubernetes の管理」スキルバッジ クエストの一部です。完了すると成果が認められて上のようなバッジが贈られます。獲得したバッジを履歴書やソーシャル プラットフォームに記載し、#GoogleCloudBadge を使用して成果を公表しましょう。
このスキルバッジ クエストは、Google Cloud のハイブリッドおよびマルチクラウドのクラウド アーキテクト向け学習プログラムの一部です。学習プログラムの他のスキルバッジ クエストを修了済みの場合は、他の 20 以上の登録可能なスキルバッジ クエストを Google Cloud Skills Boost カタログで検索してみてください。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2023 年 8 月 11 日
ラボの最終テスト日: 2023 年 8 月 11 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください