GKE のオブザーバビリティ

このドキュメントでは、アプリケーションの健全性と可用性をモニタリングするための Google Kubernetes Engine(GKE)のオブザーバビリティ機能について説明します。

GKE でアプリケーションの可用性と信頼性を確保するには、アプリケーションの健全性とパフォーマンスをモニタリングする必要があります。GKE には、コンテナ化されたワークロードに関する重要な分析情報を提供する指標やダッシュボードなどのオブザーバビリティ機能が用意されています。これにより、問題を早期に検出してパフォーマンスを最適化できます。これらの機能は、制御とパフォーマンスが重要な AI/ML アプリケーションなどの要求の厳しいワークロードに特に役立ちます。

このドキュメントは、ワークロードをモニタリングする IT 管理者、デベロッパー、オペレーターを対象としています。 Google Cloud のコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE ユーザーのロールとタスクをご覧ください。

デフォルトのオブザーバビリティ機能

デフォルトでは、GKE クラスタは次のように構成されます。

データ収集のカスタマイズと強化

デフォルトでは、GKE はクラスタごとにログを保存するための Logging リポジトリを作成します。GKE クラスタから Cloud Logging と Cloud Monitoring に送信するログと指標(存在する場合)を制御できます。

Google Cloud Managed Service for Prometheus を有効にするかどうかも制御できます。

GKE Autopilot クラスタでは、Cloud Monitoring と Cloud Logging のインテグレーションを無効にすることはできません。

その他のオブザーバビリティ指標

次のような方法で、追加のオブザーバビリティ指標を収集できます。

  • 次の 1 つ以上の オブザーバビリティ指標パッケージを有効にします。

    • コントロール プレーンの指標: Kubernetes API サーバー、スケジューラ、コントローラ マネージャーの指標を収集して、Kubernetes コンポーネントの状態をモニタリングします。これらの指標は、サービスレベル目標(SLO)を定義する際にサービスの状態を把握するのに有用なシグナルです。
    • Kube 状態指標: Deployment、ノード、Pod などの Kubernetes オブジェクトの状態をモニタリングします。
    • cAdvisor/kubelet 指標: コンテナと kubelet の健全性をモニタリングします。
  • Google Cloud Managed Service for Prometheus を構成して、 Kubernetes コンポーネントから特定の指標を収集します。 この方法は、指標パッケージに含まれていない指標を収集する場合や、指標パッケージから指標のサブセットのみが必要な場合に便利です。

サードパーティの指標とユーザー定義の指標

Postgres、MongoDB、Redis などのクラスタで実行されているサードパーティ アプリケーションをモニタリングするには、Google Cloud Managed Service for Prometheus の Prometheus エクスポーターを使用します。

カスタム エクスポーターを作成して、健全性とパフォーマンスについて他のシグナルをモニタリングすることもできます。

収集したデータを使用する

収集したデータを使用すると、アプリケーションの開発、デプロイ、保守の際に、アプリケーションの健全性の分析、デバッグ、トラブルシューティング、テストを行うことができます。

GKE には、すぐに使用できる組み込みのオブザーバビリティ機能が用意されています。

  • クラスタとワークロードの収集されたデータを GKE オブザーバビリティ ダッシュボードに表示します。提供されるダッシュボードは、次の目的でカスタマイズできます。

    • CPU 使用率、メモリ使用率、対応待ちのインシデント数など、主要なクラスタ指標を表示します。
    • インフラストラクチャ、ワークロード、Service 別にクラスタを表示します。
    • Namespace、ノード、ワークロード、Service、Pod、コンテナを検査します。
    • Pod とコンテナについて、時間の関数として指標を表示し、ログエントリを表示します。

    必要に応じて、独自のダッシュボードを作成することも、Grafana ダッシュボードをインポートすることもできます。

  • コンソール Google Cloud で AI/ML ワークロードの詳細を表示します。これには、JobSet、RayJob、PyTorchJob、 推論サービング用の Deployment などのリソースが含まれます。

    コンソール Google Cloud に移動

  • [オブザーバビリティ] タブでは、推奨されるアラート ポリシーを作成して、問題に関する通知を受け取ることができます。アラートの詳細については、アラートの概要をご覧ください。

  • SLO を作成し、収集した GKE 指標を使用してサービスのパフォーマンス目標をモニタリングします。

  • GKE ハンドブックを使用して、スケジュールできない Pod再起動後に繰り返しクラッシュするコンテナなどの一般的な問題のトラブルシューティングを行います。

  • ログ エクスプローラMetrics ExplorerError Reporting などのツールを使用してデータを探索し、分析します。

  • Cloud Audit Logs の一部として管理アクティビティとアクセスを記録する GKE の監査ログを確認します。監査ログポリシーは、記録されるイベントと、ログエントリが管理アクティビティ ログとデータアクセス ログのどちらに属するかを決めます。

その他の機能

GKE は他の Google Cloud サービスと統合できるため、クラスタとワークロードのモニタリングと管理に役立ちます。

次のステップ