Cloud Operations for GKE の構成

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

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

  • 新しいクラスタを作成し、GKE 用 Cloud Operations または以前の Logging および Monitoring を構成する。

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

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

GKE 用 Cloud Operations では、クラスタ内の Cloud Monitoring と Cloud Logging の両方のサポートを向上させるオプションを 1 つ選択できます。以前の Logging と Monitoring では、Logging なしで Monitoring だけを有効にできましたが、このオプションは GKE 用 Cloud Operations ではサポートされていません。

始める前に

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

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

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

システムログのみの収集

デフォルトでは、GKE はクラスタにデプロイされたワークロードのログを収集します。この自動収集によって、アプリケーション ログを簡単に収集できるようになります。ただし、アプリケーション ログが必要ない場合もあります。GKE バージョン 1.15.7 以降では、システムログのみをキャプチャし、アプリケーション ログは収集しないように Cloud Operations for GKE を構成できます。

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

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

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

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

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

新しい GKE クラスタを作成すると、Cloud Operations for GKE のダッシュボードがデフォルトで有効になります。バージョン 1.19 以前を使用している場合は、以前の Logging と Monitoring の統合を選択できます。すべてのクラスタ構成で、Google Cloud のオペレーション スイートをまとめて無効にできます。

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

Console

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

    Kubernetes クラスタに移動

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

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

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

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

    • 新しいクラスタの場合、GKE 用 Cloud Operations がデフォルトで選択されています。

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

        • システムとワークロードのロギングとモニタリング
        • システムとワークロードのロギングのみ(Monitoring が無効になっている)
        • システム モニタリングのみ(Logging が無効になっている)
      • また、マスターのバージョンが 1.15.7 以降の場合、プルダウン リストから次のオプションを選択することもできます。

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

        1. プルダウン リストから [以前の Logging と Monitoring] を選択します。
        2. [以前の Monitoring サービスを有効にする] または [以前の Logging サービスを有効にする] を選択するか、両方のオプションを選択します。

          以前の Monitoring と Logging は別々に有効または無効にできます。

    • GKE 用 Cloud Operations を無効にするには、[GKE 用 Cloud Operations を有効にする] チェックボックスをオフにします。

  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. クラスタを作成するには、次のコマンドを実行します。新しいクラスタの場合、GKE 用 Cloud Operations がデフォルトで有効になっています。

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

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

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

  4. バージョン 1.19 以前の GKE クラスタで以前の Logging と Monitoring を選択するには、クラスタを作成し、--enable-cloud-logging--enable-cloud-monitoring のオプションを使用して create コマンドを実行します。たとえば、簡単なクラスタの作成方法は、次のようになります。

        gcloud container clusters create [CLUSTER_NAME] \
          --zone=[ZONE] \
          --project=[PROJECT_ID] \
          --cluster-version=[CLUSTER_VERSION] \
          --enable-cloud-logging \
          --enable-cloud-monitoring
    
    
    
    1. また、create コマンドに --no-enable-stackdriver-kubernetes フラグを追加して、Cloud Operations for GKE を有効にせずにクラスタを作成することもできます。例:

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

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

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

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

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

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

    Kubernetes クラスタに移動

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

    クラスタの詳細画面。

クラスタを変更する

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

Console

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

    Kubernetes クラスタに移動

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

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

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

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

    • GKE 用 Cloud Operations に変更するには、[GKE 用 Cloud Operations] プルダウン ボックスで次のいずれかのオプションを選択します。

      • システムとワークロードのロギングとモニタリング
      • システムのロギングとモニタリングのみ(ベータ版)(GKE バージョン 1.15.7 以降が必要)
      • システムとワークロードのロギングのみ(Monitoring が無効になっている)
      • システム モニタリングのみ(Logging が無効になっている)
    • 以前の Logging と Monitoring のサポートに変更する手順は次のとおりです(GKE バージョン 1.19 以前の場合)。

      1. [Cloud Operations for GKE] プルダウン ボックスで、[以前の Logging と Monitoring] を選択します。

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

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

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

    • Google Cloud のオペレーション スイートの統合を完全に無効にするには、[GKE 用 Cloud 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]
    
  4. GKE 用 Cloud Operations を有効にするには、--enable-stackdriver-kubernetes フラグを指定して update コマンドを実行します。

    gcloud container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  \
      --enable-stackdriver-kubernetes
      
  5. 以前の Logging と Monitoring を有効にするには、--logging-service logging.googleapis.com フラグまたは --monitoring-service monitoring.googleapis.com フラグを指定して update コマンドを実行します。以下の例は、Google Cloud のオペレーション スイートに必要なオプションだけを示しています。

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

  6. あるいは、GKE 用 Cloud Operations または以前の Logging と Monitoring を削除するには、update コマンドを実行し、--no-enable-stackdriver-kubernetes フラグを設定します。

    gcloud container clusters update [CLUSTER_NAME] \
      --zone=[ZONE]  \
      --no-enable-stackdriver-kubernetes

次のステップ

  • 料金ページで Cloud Logging に関連する費用を確認する。

  • Kubernetes でよく使用されるモニタリング ツール Prometheus の使用方法を学習する。

  • 以前の Logging と Monitoring を使用している場合は、GKE 用 Cloud Operations への移行を読み、GKE 用 Cloud Operations の変更点を理解する。