Kubernetes Engine Operations のサポートをインストールする

Google Kubernetes Engine(GKE)には、Cloud Monitoring および Cloud Logging との統合が含まれています。この統合により、高度なプロファイリング機能とトレース機能を使用して、稼働中の GKE クラスタのモニタリング、システムログとデバッグログの管理、システムのパフォーマンス分析を行うことができます。

このページでは、次の操作を行う方法について説明します。

  • 新しいクラスタを作成して、Kubernetes Engine Operations または Legacy Logging と Monitoring を構成する。

  • アプリケーション ログを収集するかどうかを選択する。

  • クラスタで Cloud Monitoring と Cloud Logging を無効にする。

Kubernetes Engine Operations では、単一のオプションでクラスタ内の Cloud Monitoring と Cloud Logging の両方のサポートを向上できます。Legacy Logging と Monitoring では、Logging なしで Monitoring だけを有効にできますが、このオプションは Kubernetes Engine Operations ではサポートされません。

始める前に

  • どちらのモニタリングとロギングの統合オプションを使用するかを決定します。

  • アプリケーション ログを収集するかどうかを決定します。

  • クラスタが含まれているプロジェクトのオーナーであることを確認してください。そのプロジェクトにはワークスペースが関連付けられていなければなりません。

アプリケーション ログの収集の制御

デフォルトでは、GKE はクラスタにデプロイされたワークロードのログを収集します。これは、アプリケーションを計測化するための強力なツールです。ただし、この自動収集はおすすめできません。GKE バージョン 1.15.7 以降では、Kubernetes Engine オペレーションを構成して、システムログのみを取得し、アプリケーション ログを収集しないようにできます。

システムのみのオプションを選択すると、次のログが収集されます。

  • 名前空間 kube-systemistio-systemknative-servinggke-systemconfig-management-system で実行中のすべてのポッド。

  • コンテナ化されていない重要なサービス: docker/containerd ランタイム、kubeletkubelet-monitornode-problem-detectorkube-container-runtime-monitor

  • VM インスタンスのメタデータ serial-port-logging-enable が真に設定されている場合、ノードのシリアルポートが出力します。

新しいクラスタを対象としたモニタリングとロギングのサポートの構成

新しい GKE クラスタを作成すると、Kubernetes Engine Operations ダッシュボードがデフォルトで有効になります。または、GKE バージョン 1.14 以前を実行しているクラスタの Legacy Logging と Monitoring の統合を選択するか、Google Cloud のオペレーション スイートをまとめて無効にします。

このセクションのクラスタ作成手順は、モニタリングとロギングに関連するオプションだけを対象としています。GKE クラスタの詳しい作成手順については、クラスタの作成をご覧ください。

コンソール

  1. プロジェクトの [Kubernetes クラスタ] ページに移動します。次のボタンで移動します。

    [Kubernetes クラスタ] に移動

  2. [クラスタを作成] をクリックします。

  3. クラスタのマスター バージョンを選択します。選択したバージョンによって、使用可能な Cloud Monitoring と Cloud Logging のオプションが変わります。

  4. ナビゲーション パネルの [クラスタ] の下の [機能] をクリックします。

  5. [Telemetry] の下で、クラスタのロギングとモニタリングのサポートを選択します。

    • 新規クラスタの場合、Kubernetes Engine Operations はデフォルトで有効になっています。

      • マスター バージョンが 1.15.7 以降の場合、プルダウン リストから次のいずれかのオプションを選択できます。

        • システムとワークロードのロギングとモニタリング(推奨)
        • システムのロギングとモニタリングのみ(ベータ版)
      • マスター バージョンが 1.14 以前の場合、Legacy Logging と Monitoring サポートを有効にできます。

        1. プルダウン リストから Legacy Stackdriver を選択します。
        2. Legacy Stackdriver Logging を有効にするLegacy Stackdriver Monitoring を有効にするまたは両方を選択します。 Legacy Monitoring と Legacy Logging は、別々に有効か無効にできます。
    • Kubernetes Engine Operations を無効にするには、Stackdriver Kubernetes Engine のモニタリングを有効にするチェックボックスをオフにします。

  6. 必要に応じてクラスタを構成します。

  7. [作成] をクリックしてクラスタを作成します。

gcloud

gcloud を使用してクラスタを作成します。

  1. Cloud SDK と gcloud がインストールされているデバイスでターミナル ウィンドウを開きます。操作を行う 1 つの方法として、Cloud Shell を使用します。

  2. Cloud Console で、Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Cloud Console の下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。gcloud コマンドライン ツールなどの Cloud SDK がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  3. 新しいクラスタ用に Kubernetes Engine Operations のサポートを選択するには、create コマンドに --enable-stackdriver-kubernetes オプションを含めます。

    gcloud beta container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID] \
      --cluster-version=[CLUSTER_VERSION] \
      --enable-stackdriver-kubernetes
    

    前の式では、[CLUSTER_NAME] はクラスタ名、[ZONE] はクラスタのコンピューティング ゾーン、[PROJECT_ID] はプロジェクト名ではなく Google Cloud のプロジェクト ID です。

    [CLUSTER_VERSION] は、クラスタにインストールする GKE のバージョンです。インストールする特定のパッチリリース(たとえば、1.12.8-gke.10)を入力できます。インストールするマイナー バージョン(たとえば、1.12.8)を入力することもできます。この場合、クラスタは最新のパッチ バージョンを使用して作成されます。GKE のバージョニングの詳細については、バージョニングとアップグレードをご覧ください。

  4. 代わりに、GKE クラスタ バージョン 1.14 以前の Legacy Logging と Monitoring を選択するには、クラスタを作成して、--enable-cloud-logging--enable-cloud-monitoring のオプションを含めます。たとえば、簡単なクラスタの作成方法は、次のようになります。

    gcloud container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID] \
      --cluster-version=[CLUSTER_VERSION]
    

既存のクラスタのモニタリングとロギングのサポートの構成

次のセクションでは、既存の GKE クラスタのモニタリングとロギングの統合を変更する方法を詳しく説明します。

クラスタで使用しているモニタリングとロギングのサポートを確認する

クラスタで使用しているモニタリングとロギングのサポートを確認するには、次の手順を行います。

  1. Google Cloud Console で、クラスタの名前をクリックします。

    [Kubernetes クラスタ] に移動

  2. クラスタの [詳細] パネルで、以前の Stackdriver Monitoring以前の Stackdriver LoggingKubernetes Engine Operations のステータスを確認します。

    クラスタの [詳細] 画面。

クラスタを変更する

既存のクラスタのモニタリングとロギングの構成を変更するには、次の手順に沿って操作します。

コンソール

  1. プロジェクトの [Kubernetes クラスタ] ページに移動します。

    [Kubernetes クラスタ] に移動

  2. クラスタをバージョン 1.12.7 以降にアップグレードします。手順については、クラスタのアップグレードをご覧ください。 アップグレードを完了します。

  3. クラスタの [編集] をクリックします。

    GKE クラスタを編集します。

  4. クラスタに適切な統合オプションを選択します。

    • Kubernetes Engine Operations に変更するには、Stackdriver Kubernetes Engine Monitoring プルダウン ボックスで、システムとワークロードのロギングとモニタリング(推奨)を選択します。

      Kubernetes Engine Operations のサポートを選択します。

    • システムログのみの Kubernetes Engine Operations に変更するには、Stackdriver Kubernetes Engine Monitoring プルダウン ボックスで [System Logging と Monitoring のみ] を選択します。

      Kubernetes Engine Operations のサポートを選択します。

    • Legacy Logging と Monitoring のサポートに変更するには手順は次のとおりです(GKE バージョン 1.14 以前の場合)。

      1. [Kubernetes Engine Operations] プルダウン ボックスで、[Legacy Stackdriver] を選択します。

      2. [Legacy Stackdriver Logging] プルダウン ボックスで [有効] を選択します。

      3. [Legacy Stackdriver Monitoring] プルダウン ボックスで、[有効] を選択します。

        Legacy Logging と Monitoring のサポートを選択します。

    • Google Cloud のオペレーション スイートの統合を完全に無効にするには、[Kubernetes Engine Operations] プルダウン ボックスで [無効] を選択します。

  5. [保存] をクリックします。

gcloud

次の gcloud 手順では、gcloud container clusters update コマンドを使用してクラスタのモニタリングとロギングのサポートをアップグレードする方法を説明します。upgrade コマンドではなく update コマンドを使用している点に注目してください。この場合でも、このプロセスは「アップグレード」と呼ばれることがあります。

  1. Cloud SDK と gcloud がインストールされているデバイスでターミナル ウィンドウを開きます。操作を行う 1 つの方法として、Cloud Shell を使用します。

  2. Cloud Console で、Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Cloud Console の下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。gcloud コマンドライン ツールなどの Cloud SDK がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  3. Cloud SDK でクラスタのデフォルト値を設定していない場合は、次のように設定します。

    gcloud config set project [PROJECT_ID]
    gcloud config set compute/zone [ZONE]
    
  4. クラスタを目的の Kubernetes バージョンに更新し、クラスタ内で有効にするモニタリングとロギング サポートを選択します。Kubernetes Engine Operations は、GKE のすべてのバージョンでサポートされています。Legacy Logging と Monitoring は GKE 1.14 以前でサポートされています。

  5. Kubernetes Engine Operations を有効にする次のアップデート コマンドでも、Google Cloud のオペレーション スイートに必要なオプションだけが示されています。

    gcloud beta container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  --region=[REGION]  \
      --enable-stackdriver-kubernetes
      

    フィールド [REGION] は、クラスタのコンピューティング リージョンです。

  6. 代わりに、Legacy Logging と Monitoring を有効にする次のアップデート コマンドでも、Google Cloud のオペレーション スイートに必要なオプションだけが示されています。

    gcloud beta container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  --region=[REGION]  \
      --logging-service logging.googleapis.com \
      --monitoring-service monitoring.googleapis.com
      

次のステップ