arrow_back

GKE 用の Cloud オペレーション

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GKE 用の Cloud オペレーション

Lab 1時間 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GKE-logo.png

GSP497

Google Cloud セルフペース ラボ

概要

Kubernetes Engine Monitoring は Cloud Monitoring の新機能です。より密接に GKE に統合され、クラスタやクラスタで実行されるワークロードとサービスに関する主要な統計情報をわかりやすく示します。この新機能には、Prometheus エンドポイントを持つポッドからの指標をネイティブな Cloud Monitoring 指標としてインポートする機能が含まれています。これにより、ワークロードを追加することなく、Prometheus の指標に Cloud Monitoring のネイティブ アラート機能を使用できます。

このラボでは、Kubernetes Engine クラスタでの指標の Monitoring と可視化を設定します。ここでは Terraform という宣言型の Infrastructure as Code ツールを使用します。このツールにより、クラウド内のインフラストラクチャのデプロイと更新を自動化する構成ファイルを使用することができます。Kubernetes Engine クラスタのログを利用して、Cloud Monitoring の Monitoring 機能を学習します。

注: Cloud Monitoring ワークスペースの設定は、Terraform や gcloud コマンドライン ツールで現在サポートされていないため、スクリプトでは自動化されません。

このラボは、Kubernetes Engine での Cloud Monitoring による Monitoring について理解を深めるために GKE Helmsman のエンジニアによって作成されました。このデモは Github でご覧いただけます。このアセットへのコントリビューションをぜひお寄せください。

アーキテクチャ

このラボでは、Kubernetes Engine クラスタを作成し、そこにサンプル アプリケーションをデプロイします。このクラスタのロギングと指標は、デフォルトで Cloud Monitoring Logging に読み込まれます。このチュートリアルでは、キャプチャされた指標を表示するために Cloud Monitoring アカウントが設定されます。

Monitoring アーキテクチャ

設定

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

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

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

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

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

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

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

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

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

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

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

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

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、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 の概要ガイドをご覧ください。

リージョンとゾーンを設定する

リージョンとゾーンを設定する

一部の Compute Engine リソースは、リージョン内やゾーン内に存在します。リージョンとは、リソースを実行できる特定の地理的位置です。1 つのリージョンには 1 つ以上のゾーンがあります。

リージョンとゾーンについてのドキュメントで、リージョンとゾーンの詳細と一覧をご確認ください。

次のコマンドを実行して、ラボのリージョンとゾーンを設定します(最適なリージョンとゾーンを使用できます)。

gcloud config set compute/region {{{ project_0.default_region | REGION }}} gcloud config set compute/zone {{{ project_0.default_zone | ZONE }}}

デモのクローンを作成する

次のコマンドを実行して、このラボに必要なリソースのクローンを作成します。

gsutil cp gs://spls/gsp497/gke-monitoring-tutorial.zip .
unzip gke-monitoring-tutorial.zip

デモのディレクトリに移動します。

cd gke-monitoring-tutorial

認証を構成する

Terraform の構成は GCP 環境に対して実行され、これにより、シンプルなアプリケーションを実行する Kubernetes Engine クラスタが作成されます。この構成では、これらのリソースの作成に個人用アカウントを使用します。このラボでは、プロジェクトとユーザー アカウントが自動的に構成および認証される Cloud Shell を使用します。

Monitoring の指標スコープを作成する

Google Cloud プロジェクトに関連付けられた Monitoring の指標スコープを設定します。次の手順に沿って、Monitoring を無料でお試しいただける新しいアカウントを作成します。

  • Cloud コンソール で、ナビゲーション メニューナビゲーション メニュー アイコン) > [Monitoring] をクリックします。

Monitoring の [概要] ページが開いたら、指標スコープのプロジェクトの準備は完了です。

クラスタをデプロイする

次のコマンドを実行して、このプロジェクトに必要なインフラストラクチャと Cloud Monitoring アラート ポリシーをデプロイします。

make create

Terraform 変数ファイルのデフォルト値をオーバーライドするには、等号の右側の値を目的の値に置き換えます。新しい値も必ず二重引用符で囲んでください。

: これにより次のタスクが実行されます。

  1. プロジェクトとゾーンの構成が読み込まれ、次の構成ファイルが生成されます。
  • ./terraform/terraform.tfvars (Terraform 変数用)
  • ./manifests/prometheus-service-sed.yaml(Cloud Monitoring で作成される Prometheus ポリシー用)
  1. terraform init を実行して、インフラストラクチャを作成する Terraform を初期化します。
  2. terraform apply を実行して、インフラストラクチャと Cloud Monitoring アラート ポリシーを実際に作成します。

エラーが表示されない場合は、数分後に次のような出力が表示されます。

出力例(コピーしないでください)

Apply complete! Resources: 5 added, 0 changed, 0 destroyed.

Outputs:

cluster_name = stackdriver-monitoring-tutorial
primary_location = us-central1-a

作成された Kubernetes Engine クラスタは Cloud Console で確認できます。

完了したタスクをテストする

[進行状況を確認] をクリックしてタスクを完了したことを確認します。Terraform を使用して正常にリソースをデプロイすると、スコアが表示されます。

Terraform を使用して、必要なリソースとクラスタをデプロイする

Terraform の仕組み

Terraform は、Infrastructure as Code不変のインフラの原則に従い、インフラストラクチャの望ましい状態の宣言型の記述をサポートします。記述子を適用すると、Terraform は GCP API を使用して、一致するリソースのプロビジョニングと更新を行います。Terraform は望ましい状態と現在の状態を比較することにより、すべてを削除してやり直すことなく増分変更を行うことができます。たとえば、Terraform は GCP プロジェクトやコンピュート インスタンスなどの作成、Kubernetes Engine クラスタの設定とそのクラスタへのアプリケーションのデプロイも行うことができます。要件が変わった場合は記述子を変更すると、Terraform はそれに応じてクラウド インフラストラクチャを調整します。

このデモスクリプトでは、Kubernetes Engine クラスタを起動し、そこに簡単なサンプル アプリケーションをデプロイします。デフォルトでは、GCP 内の Kubernetes Engine クラスタは、事前に構成された Fluentd ベースのコレクタを使用してプロビジョニングされます。このコレクタによって Cloud Monitoring にログが転送されます。

Kubernetes Engine Monitoring を使用する

クラスタの作成が完了するまでの間、Kubernetes クラスタの観察をご覧いただき、新しい Cloud Monitoring Kubernetes UI を使用してクラスタを観察する方法についてご確認ください。

検証

デプロイ中にエラーが表示されない場合は、数分後に、サンプル アプリケーションがデプロイされた Kubernetes Engine クラスタが GCP Console に表示されます。[Kubernetes Engine] をクリックすると、進行状況を Monitoring できます。

リソースがインストールされ、正しく動作していることを検証するには、次のコマンドを実行します。

make validate

出力例(コピーしないでください)


Fetching cluster endpoint and auth data.
kubeconfig entry generated for stackdriver-monitoring-tutorial.
App is deployed.

Prometheus のネイティブな統合

Terraform のコードには、Prometheus エンドポイントから最初にインポートされた指標を監視する Cloud Monitoring アラート ポリシーが含まれています。

Cloud Monitoring のメインページで [アラート] をクリックすると、すべてのポリシーが表示され、その中に Prometheus mem alloc というアラート ポリシーがあります。

このポリシーをクリックすると、詳細が表示されます。

スクリプトの実行後、[Overview] ページにメトリックが表示されるまで数分かかる場合があります。ページを定期的に更新して、最新の更新が表示されていることを確認してください。

mem alloc above 12 ポリシーに違反があると、インシデントが表示されます。このインシデントをクリックすると、詳細が表示されます。

破棄

デモが完了し、作成したリソースをクリーンアップする場合は、次のコマンドを実行すると、すべてのリソースが削除されます。

make teardown

このコマンドは、terraform destroy コマンドを使用してインフラストラクチャを削除します。Terraform は作成したリソースを追跡しているため、すべてのリソースを破棄して元に戻すことができます。

エラーが表示されない場合は、数分後に次のような出力が表示されます(以下のような出力が得られるまで先に進まないでください)。

出力例(コピーしないでください)


....
Destroy complete! Resources: 5 destroyed.

完了したタスクをテストする

[進行状況を確認] をクリックしてタスクを完了したことを確認します。Terraform を使用してインフラストラクチャを破棄すると、スコアが表示されます。

破棄 (クリーンアップ)

お疲れさまでした

CloudOpsGKE_125x135.png

クエストを完了する

このセルフペース ラボは、Qwiklabs のクエストである Google Kubernetes Engine Best Practices の一部です。クエストとは、学習パスを構成する一連のラボで、クエストを完了すると、成果が認められて上のバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクさせることができます。このラボを終えてこちらのクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なその他の Qwiklabs のクエストもご覧ください

次のラボの受講

Using Cloud Trace on Kubernetes Engine に進んでクエストを続けるか、以下のおすすめのラボをご確認ください。

次のステップと詳細情報

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

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

マニュアルの最終更新日: 2021 年 12 月 8 日
ラボの最終テスト日: 2021 年 12 月 8 日

Copyright 2024 Google LLC. 本ソフトウェアは「現状有姿」で提供されており、いかなる使用および目的に関しても保証および表明は伴いません。本ソフトウェアのご利用には、Google との契約が適用されます。