始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a Kubernetes Cluster
/ 5
Build and Deploy Nodejs App (hello-node)
/ 5
Allow external traffic to hello-node deployment
/ 5
Create a Kubernetes Cluster
/ 5
Build and Deploy Nodejs App (hello-node)
/ 5
Allow external traffic to hello-node deployment
/ 5
Google Kubernetes Engine を使用すると、Docker コンテナをクラウドで簡単に実行できます。Google Kubernetes Engine は、オープンソースのコンテナ スケジューラである Kubernetes を使用して、クラスタを常に意図したとおりの状態で実行されるようにします。
このラボでは、コンテナを起動する方法と、Google Kubernetes Engine でそのコンテナのレプリカを起動する方法を学びます。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 右側の [ラボの設定とアクセス] パネルには、以下が表示されます。
ラボのタイマーはページの上部に表示され、残り時間が示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの設定とアクセス] パネルでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの設定とアクセス] パネルでもパスワードを確認できます。
[次へ] をクリックします。
その後のページはクリックして先に進みます。
しばらくすると、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
このセクションでは、Google Kubernetes Engine クラスタを作成します。
Cloud Shell は、ブラウザから仮想マシンを操作できるターミナルです。Google Cloud ツールのほか、エディタやコンパイラなど、アプリケーションの開発やデバッグに役立つツールがあらかじめインストールされています。
クラスタの作成には gcloud コマンドを使用します。まず、クラスタ内の仮想マシンが正しいリージョンに作成されるように、コンピューティング ゾーンを設定します。これには、gcloud config set compute/zone コマンドを使用します。
一部の Compute Engine リソースは、リージョンまたはゾーンに属します。リージョンとは、リソースを実行できる特定の地理的位置です。各リージョンには、1 つまたは複数のゾーンがあります。たとえば、リージョン us-central1 は米国中部のリージョンを指し、ゾーン us-central1-a、us-central1-b、us-central1-c、us-central1-f が含まれています。
| リージョン | ゾーン |
|---|---|
| 米国西部 | us-west1-a、us-west1-b |
| 米国中部 | us-central1-a、us-central1-b、us-central1-d、us-central1-f |
| 米国東部 | us-east1-b、us-east1-c、us-east1-d |
| 西ヨーロッパ | europe-west1-b、europe-west1-c、europe-west1-d |
| 東アジア | asia-east1-a、asia-east1-b、asia-east1-c |
ゾーン内にあるリソースをゾーンリソースと呼びます。仮想マシン インスタンスと永続ディスクはゾーンに属します。永続ディスクを仮想マシン インスタンスにアタッチするには、両方のリソースを同じゾーン内に配置する必要があります。同様に、インスタンスに静的 IP アドレスを割り当てるには、インスタンスが静的 IP と同じリージョンに存在している必要があります。
gcloud コマンドを使用して、新しいコンテナ クラスタを作成します。このコマンドは、3 つのノード(VM)を持つ hello-world という名前の新しいクラスタを作成します。ノードの数、デフォルトの権限、その他の変数を変更するには、追加のフラグを付けてこのコマンドを構成します。詳細については、gcloud container clusters create のリファレンスをご覧ください。
クラスタの起動には数分かかる場合があります。起動すると、次のような出力が Cloud Shell に表示されます。
[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。
次に、コードを含むコンテナをビルドして公開します。コンテナのビルドには Docker を、安全に公開するには Google Artifact Registry を使用します。
このラボの多くのコマンドでは、プロジェクト ID を使用します。プロジェクト ID は Cloud Shell の環境変数に保存されているため、簡単に利用できます。環境変数は次のコマンドで確認します。
Docker コンテナは、Dockerfile を使用してビルドします。サンプルコードには、そのまま使用できる基本的な Dockerfile が含まれています。
ファイルの内容は次のとおりです。
これにより、Docker コンテナ イメージがビルドされ、ローカルに保存されます。
Kubernetes がイメージにアクセスできるようにするには、イメージを Artifact Registry に保存する必要があります。
クラスタが稼働し、アプリケーションがビルドされたので、次はアプリケーションをデプロイします。
Deployment は、アプリケーションが常に実行されている状態を維持する、Kubernetes の主要なコンポーネントです。Deployment はクラスタ上の Pod のセットをスケジュールして管理します。Pod は、1 つ以上のコンテナをひとまとめにしたものです。コンテナを一括で管理する必要がある場合や、コンテナがネットワーク要件を共有している場合に使用します。このラボで使用する Pod にはコンテナが 1 つのみ含まれます。
通常は Deployment の構成を含む YAML ファイルを作成しますが、このラボではこの手順をスキップしてコマンドラインで直接 Deployment を作成します。
kubectl を使用して Pod を作成します。このコマンドは、クラスタ内のいずれかのノードで Docker イメージのコピーを 1 つ起動します。
[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。
kubectl を使用して作成した Deployment を確認するには、次のコマンドを実行します。次のような結果が返されます。
kubectl を使用して Pod が実行されていることも確認できます。次のような結果が返されます。
デフォルトでは、Pod にはクラスタ内の他のマシンからのみアクセスできます。作成したアプリコンテナを利用できるようにするには、Service として公開する必要があります。
通常は Service の構成を含む YAML ファイルを作成しますが、このラボではこの手順をスキップしてコマンドラインで直接 Deployment を作成します。
kubectl expose コマンドを実行して、Deployment を公開します。kubectl expose は、Service、ロードバランサの転送ルール、外部トラフィックを Pod に送信できるようにするファイアウォール ルールを作成します。--type=LoadBalancer フラグは、外部トラフィックを受け入れる Google Cloud ネットワーク ロードバランサを作成します。
次のような結果が返されます。
External-IP が入力されるまで数分かかることがあります。External-IP が <pending> と表示された場合は、30 秒待ってから再試行してください。[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。
新しいブラウザ ウィンドウまたはタブを開き、前の手順で確認した外部 IP アドレスにアクセスします。サンプルコードが動作しているのを確認できるはずです。
今回のラボで学習した内容の理解を深めていただけるよう、以下の選択式問題を用意しました。正解を目指して頑張ってください。
Google Kubernetes Engine を使用すると、Google Cloud 上で効率的かつ柔軟にコンテナを実行できます。Kubernetes は、独自のハードウェアや他のクラウド プロバイダでも使用できます。
このラボでは単一のコンテナのみ使用しましたが、複数のコンテナ環境や、1 つのコンテナの複数インスタンスを構築するのも簡単です。
次のようなラボもお試しください。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 12 月 11 日
ラボの最終テスト日: 2024 年 12 月 11 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください