arrow_back

Hello Node Kubernetes

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Hello Node Kubernetes

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP005

Google Cloud セルフペース ラボ

概要

このハンズオンラボでは、これまで作成してきたコードを使って Kubernetes で実行される(Kubernetes Engine で動作する)複製アプリケーションを作成します。コードは、シンプルな Hello World node.js アプリケーションです。

次の図には、このラボで学習するさまざまな内容が示されており、各部がどう関連しているかの理解に役立ちます。図を参照しながら進めれば、終了する頃には内容をすべて理解できるようになります(現時点で理解できなくても問題ありません)。

Kubernetes コンポーネントのフロー図

Kubernetes はオープンソースのプロジェクト(kubernetes.io から入手可能)で、ノートパソコンから可用性の高いマルチノード クラスタ、パブリック クラウドからオンプレミスのデプロイ、仮想マシンからベアメタルまで、さまざまな環境で実行できます。

このラボでは、Kubernetes Engine(Google がホストし、Compute Engine で実行される Kubernetes の 1 バージョン)などのマネージド環境を使用するため、基盤となるインフラストラクチャの設定を気にせずに Kubernetes の操作に集中できます。

学習内容

  • Node.js サーバーを作成する。
  • Docker コンテナ イメージを作成する。
  • コンテナ クラスタを作成する。
  • Kubernetes Pod を作成する。
  • サービスをスケールアップする。

前提条件

  • Linux の標準的なテキスト エディタ(vimemacsnano など)の使用経験があると役に立ちます。

根底にあるコンセプトを理解できるよう、コマンドは手動で入力することをおすすめしますが、多くのラボで、必要なコマンドが含まれたコードブロックが提供されています。コードブロックのコマンドをコピーして、該当する場所に貼り付けることもできます。

設定と要件

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

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

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

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

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

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

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

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

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

タスク 1. Node.js アプリケーションを作成する

1. Cloud Shell を使用して、Kubernetes Engine にデプロイするシンプルな Node.js サーバーを作成します。

vi server.js
  1. エディタを開きます。
i
  1. 次の内容をファイルに追加します。
var http = require('http'); var handleRequest = function(request, response) { response.writeHead(200); response.end("Hello World!"); } var www = http.createServer(handleRequest); www.listen(8080); 注: ここでは vi を使用していますが、Cloud Shell では nanoemacs も使用できます。Cloud Shell の仕組みに関するガイドの説明に沿って、CloudShell のウェブエディタ機能を使用することもできます。
  1. Esc キーを押してから、次のように入力して、server.js ファイルを保存します。
:wq
  1. Cloud Shell には node 実行可能ファイルがインストールされており、このコマンドでノードサーバーを起動することができます(このコマンドによる出力はありません)。
node server.js
  1. Cloud Shell に組み込まれたウェブ プレビュー機能を使用して、新しいブラウザタブを開き、起動したインスタンスに対するリクエストをポート 8080 でプロキシ サーバーに送信します。

展開した [ウェブでプレビュー] メニューでハイライト表示されている [ポート 8080 でプレビュー]

新しいブラウザタブが開き、結果が表示されます。

「Hello World!」というメッセージが表示されている結果ページ

  1. 続行する前に、Cloud Shell に戻り、Ctrl+C キーを押して実行中のノードサーバーを停止します。

次に、このアプリケーションを Docker コンテナにパッケージ化します。

タスク 2. Docker コンテナ イメージを作成する

  1. 構築するイメージについて記述した Dockerfile を作成します。Docker コンテナ イメージは他の既存のイメージから拡張することができるため、今回も既存の Node イメージから拡張します。
vi Dockerfile
  1. エディタを開きます。
i
  1. 次の内容を追加します。
FROM node:6.9.2 EXPOSE 8080 COPY server.js . CMD node server.js

この Docker イメージの「レシピ」は次のようになります。

  • Docker Hub にある node イメージから起動する
  • ポート 8080 を公開する
  • server.js ファイルをイメージにコピーする
  • 以前に行ったように、手動でノードサーバーを起動する
  1. Esc キーを押してから、次のように入力し、この Dockerfile を保存します。
:wq
  1. 次のようにイメージを作成します。PROJECT_ID は、コンソールやラボの [ラボの詳細] セクションに表示されるプロジェクト ID に置き換えます。
docker build -t gcr.io/PROJECT_ID/hello-node:v1 .

すべてをダウンロードして展開するには時間がかかりますが、イメージ作成の進行状況は進捗バーで確認できます。

完了したら、新たに作成したコンテナ イメージから Docker コンテナをデーモンとしてポート 8080 で実行して、イメージをローカルでテストします。

  1. 次のコマンドを実行します。PROJECT_ID は、コンソールまたはラボの [ラボの詳細] セクションに表示されるプロジェクト ID に置き換えます。
docker run -d -p 8080:8080 gcr.io/PROJECT_ID/hello-node:v1

出力は次のようになります。

325301e6b2bffd1d0049c621866831316d653c0b25a496d04ce0ec6854cb7998
  1. この結果を確認するには、Cloud Shell のウェブ プレビュー機能を使用します。または Cloud Shell で curl を使用します。
curl http://localhost:8080

次のような出力が表示されます。

Hello World! 注: docker run コマンドの詳細については、Docker run リファレンスをご覧ください。

次に、実行中のコンテナを停止します。

  1. 次のコマンドを実行して、Docker コンテナ ID を確認します。
docker ps

出力は次のようになります。

CONTAINER ID IMAGE COMMAND 2c66d0efcbd4 gcr.io/PROJECT_ID/hello-node:v1 "/bin/sh -c 'node
  1. 次のコマンドの [CONTAINER ID] を前のステップで取得したコンテナ ID に置き換えて実行し、コンテナを停止します。
docker stop [CONTAINER ID]

コンソール出力は次のようになります(実際のコンテナ ID になります)。

2c66d0efcbd4

イメージが意図したとおりに機能するようになりましたので、これを Docker イメージ用の非公開リポジトリである Google Container Registry に push します。このリポジトリには Google Cloud プロジェクトからアクセスできます。

  1. 次のコマンドを実行して、Docker 認証を構成します。
gcloud auth configure-docker

[Do you want to continue (Y/n)?] というプロンプトが表示されたら、「Y」と入力します。

  1. 次のコマンドを実行します。PROJECT_ID は、コンソールまたはラボの [ラボの詳細] セクションに表示されるプロジェクト ID に置き換えます。
docker push gcr.io/PROJECT_ID/hello-node:v1

初回の push は、完了するまで数分かかることがあります。進捗状況は進行状況バーで確認できます。

The push refers to a repository [gcr.io/qwiklabs-gcp-6h281a111f098/hello-node] ba6ca48af64e: Pushed 381c97ba7dc3: Pushed 604c78617f34: Pushed fa18e5ffd316: Pushed 0a5e2b2ddeaa: Pushed 53c779688d06: Pushed 60a0858edcd5: Pushed b6ca02dfe5e6: Pushed v1: digest: sha256:8a9349a355c8e06a48a1e8906652b9259bba6d594097f115060acca8e3e941a2 size: 2002
  1. コンテナ イメージがコンソールに一覧で表示されます。ナビゲーション メニュー > [Container Registry] をクリックします。

これで、プロジェクト全体で使用できる Docker イメージができました。このイメージには Kubernetes でアクセスし、オーケストレートすることができます。

注: レジストリ(gcr.io)用の汎用ドメインを使用しています。独自の環境では、使用するゾーンとバケットを限定できます。詳しくは、 をご覧ください。

タスク 3. クラスタを作成する

これで、Kubernetes Engine クラスタを作成する準備が整いました。クラスタは Google がホストしている Kubernetes マスター API サーバーと一連のワーカーノードで構成されます。ワーカーノードは Compute Engine 仮想マシンです。

  1. gcloud を使用してプロジェクトを設定していることを確認します(PROJECT_ID は、コンソールまたはラボの [ラボの] セクションに表示されるプロジェクト ID に置き換えます)。
gcloud config set project PROJECT_ID
  1. 2 つの n1-standard-1 ノードがあるクラスタを作成します(完了するまでに数分かかります)。
gcloud container clusters create hello-world \ --num-nodes 2 \ --machine-type e2-medium \ --zone "{{{project_0.default_zone|ZONE}}}"

クラスタのビルド時に表示される警告は無視してかまいません。

コンソール出力は次のようになります。

Creating cluster hello-world...done. Created [https://container.googleapis.com/v1/projects/PROJECT_ID/zones/"{{{project_0.default_zone|ZONE}}}"/clusters/hello-world]. kubeconfig entry generated for hello-world. NAME ZONE MASTER_VERSION MASTER_IP MACHINE_TYPE STATUS hello-world "{{{project_0.default_zone|ZONE}}}" 1.5.7 146.148.46.124 n1-standard-1 RUNNING

または、コンソールでナビゲーション メニューを開き、[Kubernetes Engine] > [Kubernetes クラスタ] > [作成] を選択して、このクラスタを作成することもできます。

注: クラスタは、コンテナ レジストリで使用されるストレージ バケットと同じゾーンに作成することをおすすめします(前のステップを参照してください)。

ナビゲーション メニュー > [Kubernetes Engine] を選択すると、Kubernetes Engine を搭載した、完全版の Kubernetes クラスタができていることを確認できます。

それでは、コンテナ化されたアプリケーションを Kubernetes クラスタにデプロイしてみましょう。ここからは kubectl コマンドライン(Cloud Shell 環境で設定済み)を使用します。

下の [進行状況を確認] をクリックして、ラボの進行状況を確認します。

クラスタを作成する

タスク 4. Pod を作成する

Kubernetes ポッドは管理とネットワーキングを目的に結合されたコンテナのグループで、1 つ以上のコンテナを含めることができます。ここでは、プライベート コンテナ レジストリに保存されている Node.js イメージで構築した 1 つのコンテナを使用します。このコンテナは、コンテンツの提供にポート 8080 を使用します。

  1. kubectl run コマンドで Pod を作成します(PROJECT_ID をコンソールまたはラボの [接続の詳細] セクションに表示されるプロジェクト ID に置き換えます)。
kubectl create deployment hello-node \ --image=gcr.io/PROJECT_ID/hello-node:v1

出力:

deployment.apps/hello-node created

これで Deployment オブジェクトが作成されました。このオブジェクトは、ポッドを作成してスケーリングするためのおすすめの方法です。ここでは、hello-node:v1 イメージを実行する 1 つのポッドレプリカを新しい Deployment で管理します。

  1. Deployment を表示するには、次のコマンドを実行します。
kubectl get deployments

出力:

NAME READY UP-TO-DATE AVAILABLE AGE hello-node 1/1 1 1 1m36s
  1. Deployment によって作成された Pod を表示するには、次のコマンドを実行します。
kubectl get pods

出力:

NAME READY STATUS RESTARTS AGE hello-node-714049816-ztzrb 1/1 Running 0 6m

ここで、便利な kubectl コマンドをいくつかお伝えします。いずれもクラスタの状態を変更しません。リファレンス ドキュメントの全文については、コマンドライン ツール(kubectl)をご覧ください。

kubectl cluster-info kubectl config view

トラブルシューティング用:

kubectl get events kubectl logs &lt;pod-name&gt;

ここで、Pod に外部からアクセスできるようにする必要があります。

下の [進行状況を確認] をクリックして、ラボの進行状況を確認します。

Pod を作成する

タスク 5. 外部トラフィックを許可する

デフォルトでは、ポッドにはクラスタ内の内部 IP からしかアクセスできません。hello-node コンテナに Kubernetes 仮想ネットワークの外部からアクセスできるようにするには、Pod を Kubernetes Service として公開する必要があります。

  1. Cloud Shell から、kubectl expose コマンドを --type="LoadBalancer" フラグと組み合わせて使用すると、ポッドをインターネットで公開できます。外部からアクセスできる IP を作成するには、このフラグが必要です。
kubectl expose deployment hello-node --type="LoadBalancer" --port=8080

出力:

service/hello-node exposed

このコマンドで使用しているフラグは、基盤となるインフラストラクチャで提供されるロードバランサ(この場合は Compute Engine のロードバランサ)を使うよう指定しています。Pod を直接公開するのではなく、Deployment を公開していることに注意してください。これによって、Deployment で管理されるすべての Pod でトラフィックをロードバランスする Service が作成されます(ここでは 1 つの Pod だけですが、後でレプリカを追加します)。

Kubernetes マスターによってロードバランサ、それに関連する Compute Engine 転送ルール、ターゲット プール、ファイアウォール ルールが作成され、Google Cloud の外部からこの Service に完全にアクセスできるようになります。

  1. この Service の公開 IP アドレスを確認するには、kubectl をリクエストしてすべてのクラスタ Service を一覧で表示します。
kubectl get services

次のような出力が表示されます。

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node 10.3.250.149 104.154.90.147 8080/TCP 1m kubernetes 10.3.240.1 < none > 443/TCP 5m

hello-node Service に対して 2 つの IP アドレスが表示されます。いずれもポート 8080 を使用しています。CLUSTER-IP は内部 IP で、Cloud Virtual Network 内でのみ表示されます。EXTERNAL-IP はロードバランスされた外部 IP です。

注: EXTERNAL-IP が表示され、使用できるようになるまでには数分かかることがあります。EXTERNAL-IP がない場合は、数分待ってからコマンドを再度実行します。
  1. ブラウザでアドレス http://&lt;EXTERNAL_IP&gt;:8080 を入力すれば、対象の Service にアクセスできるようになります。

Hello World! ページ

この時点で、コンテナと Kubernetes を利用することで、ワークロードを実行するホストを指定する必要がない、Service のモニタリングと再起動ができるなどのメリットが得られるようになりました。それでは、新しい Kubernetes インフラストラクチャを利用することで得られるその他のメリットについて見ていきましょう。

下の [進行状況を確認] をクリックして、ラボの進行状況を確認します。

Kubernetes Service を作成する

タスク 6. Service をスケールアップする

Kubernetes の優れた特長の一つは、アプリケーションのスケールが容易なことです。急に容量を増やす必要が生じたとしても、レプリケーション コントローラに、Pod の新しい数のレプリカを管理するよう指示することができます。

  1. Pod のレプリカ数を設定します。
kubectl scale deployment hello-node --replicas=4

出力:

deployment.extensions/hello-node scaled
  1. 更新された Deployment の説明をリクエストします。
kubectl get deployment

出力:

NAME READY UP-TO-DATE AVAILABLE AGE hello-node 4/4 4 4 16m

4 つのレプリカがすべて作成されるまで、上記のコマンドを再実行します。

  1. すべての Pod を一覧表示します。
kubectl get pods

次のような出力が表示されます。

NAME READY STATUS RESTARTS AGE hello-node-714049816-g4azy 1/1 Running 0 1m hello-node-714049816-rk0u6 1/1 Running 0 1m hello-node-714049816-sh812 1/1 Running 0 1m hello-node-714049816-ztzrb 1/1 Running 0 16m

ここでは宣言的アプローチを使用しています。新しいインスタンスの起動や停止を行うのではなく、実行するインスタンスの数を宣言します。Kubernetes の調整ループによって、リクエストした内容と実際の状態が一致しているかどうかが照合され、必要に応じて調整が行われます。

次の図に、Kubernetes クラスタの状態をまとめます。

Kubernetes クラスタのフロー図

下の [進行状況を確認] をクリックして、ラボの進行状況を確認します。

Service をスケールアップする

タスク 7. Service へのアップグレードをロールアウトする

本番環境にデプロイしたアプリケーションは、いずれかの時点でバグ修正や追加機能の実装が必要になります。Kubernetes を使用すると、ユーザーに影響を及ぼすことなく、新しいバージョンを本番環境にデプロイすることができます。

  1. まず、server.js を開いてアプリケーションを変更します。
vi server.js i
  1. レスポンス メッセージを更新します。
response.end("Hello Kubernetes World!");
  1. Esc キーを押してから、次のように入力して、server.js ファイルを保存します。
:wq

これで、インクリメントされたタグ(この場合は v2)を含む新しいコンテナ イメージを構築し、レジストリに公開できます。

  1. 次のコマンドを実行します。PROJECT_ID はラボのプロジェクト ID に置き換えます。
docker build -t gcr.io/PROJECT_ID/hello-node:v2 . docker push gcr.io/PROJECT_ID/hello-node:v2 注: キャッシュが活用されるため、この更新されたイメージの構築と push は迅速に行われます。

Kubernetes がレプリケーション コントローラを新しいバージョンのアプリケーションにスムーズに更新します。既存の hello-node deployment を編集し、イメージを gcr.io/PROJECT_ID/hello-node:v1 から gcr.io/PROJECT_ID/hello-node:v2 に変更して、実行しているコンテナのイメージラベルを更新します。

  1. この操作を行うには、kubectl edit コマンドを使用します。
kubectl edit deployment hello-node

テキスト エディタが開かれ、Deployment の yaml 構成全体が表示されます。ここでは yaml 構成全体を理解する必要はありません。構成の spec.template.spec.containers.image フィールドを更新すれば、新しいイメージで Pod を更新するよう指示することになるというポイントが重要です。

  1. [Spec] > [containers] > [image] を探し、バージョン番号を v1 から v2 に変更します。
# 下のオブジェクトを編集してください。「#」から始まる行はコメントであり、無視されます。 # 空白のファイルを使用すると編集内容が破棄されます。ファイルの保存中にエラーが発生した場合は # ファイルが再び開かれますが、エラーが存在する状態になります。 # apiVersion: extensions/v1beta1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: 2016-03-24T17:55:28Z generation: 3 labels: run: hello-node name: hello-node namespace: default resourceVersion: "151017" selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/hello-node uid: 981fe302-f1e9-11e5-9a78-42010af00005 spec: replicas: 4 selector: matchLabels: run: hello-node strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: creationTimestamp: null labels: run: hello-node spec: containers: - image: gcr.io/PROJECT_ID/hello-node:v1 ## Update this line ## imagePullPolicy: IfNotPresent name: hello-node ports: - containerPort: 8080 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log dnsPolicy: ClusterFirst restartPolicy: Always securityContext: {} terminationGracePeriodSeconds: 30
  1. 変更を行ったら、このファイルを保存して閉じます。Esc キーを押してから、次のように入力します。
:wq

次のような出力が表示されます。

deployment.extensions/hello-node edited
  1. 次のコマンドを実行して、新しいイメージで Deployment を更新します。
kubectl get deployments

新しいイメージで新しい Pod が作成され、古い Pod は削除されます。

次のような出力が表示されます(上記コマンドの再実行が必要となる場合があります)。

NAME READY UP-TO-DATE AVAILABLE AGE hello-node 4/4 4 4 1h

更新の実行中、ユーザーがサービスを中断する必要はありません。しばらくすると、アプリケーションの新しいバージョンにアクセスできるようになります。ローリング アップデートの詳細については、ローリング アップデートの実行に関するドキュメントをご覧ください。

Kubernetes Engine クラスタを使うと、以上のようなデプロイ、スケーリング、更新の機能のおかげで、インフラストラクチャを気にせずアプリケーションに集中できるようになります。

タスク 8. 理解度テスト

クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう(正しいものをすべて選択してください)。

これで完了です

これで Kubernetes のハンズオンラボが終了しました。ここで学んだのは、このテクノロジーの一部にすぎません。ご自分の Pod、レプリケーション コントローラ、Service を使って実践を継続し、活動状況プローブ(ヘルスチェック)を確認してみてください。Kubernetes API を直接使用することもおすすめします。

次のラボを受講する

Kubernetes Engine によるデプロイの管理を試すか、以下のおすすめのラボをご確認ください。

次のステップと詳細情報

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

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

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

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

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

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

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

ありがとうございます。

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