パフォーマンスボトルネックを迅速に特定し、クラスターの問題をトラブルシューティングするには、クラスター API サーバー のトレースを有効にして、詳細なリクエストインタラクションをキャプチャすることをお勧めします。有効にすると、API サーバー からのトレース情報は、Managed Service for OpenTelemetry に自動的に送信され、視覚化されたトレースの詳細、リアルタイムトポロジー、およびその他のモニタリングデータが提供されます。
トレースに慣れていない場合は、基本概念 を参照して、関連する基本概念を理解してください。
前提条件
ACK マネージドクラスター Pro エディション バージョン 1.28 以上を作成済みである必要があります。アップグレード手順については、「クラスターを手動でアップグレードする」をご参照ください。
Managed Service for OpenTelemetry がアクティブ化され、承認されている必要があります。詳細については、「準備」をご参照ください。
Managed Service for OpenTelemetry は、完全なトレース復元、リクエストボリューム統計、トレーストポロジー、アプリケーション依存関係分析など、分散アプリケーション向けのツールを提供します。
API サーバー パラメーターを構成して、トレースを有効にし、サンプリングレートを設定できます。構成後、Managed Service for OpenTelemetry コンソール に詳細なトレースデータが表示されます。
手順 1:API サーバー のトレースを有効にする
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[コアコンポーネント] 領域で、カードの右下にある [kube API サーバー] をクリックし、次に [構成] をクリックします。
構成パネルで、[enabletrace] パラメーターと [samplingratepermillion] パラメーターを見つけ、ページの指示に従って構成を完了します。
[enabletrace]: API サーバー のトレース機能を有効にします。
[samplingratepermillion]: サンプリングレートを設定して、100 万件のリクエストのうちサンプリングされるリクエストの割合を決定します。クラスターの負荷に基づいてレートを調整します。
たとえば、値 1000000 は 100% のサンプリングレートを示し、100 万件のリクエストすべてをキャプチャします。値 100000 は 10% のサンプリングレートを示し、10000 は 1% のサンプリングレートを示します。
手順 2:OpenTelemetry でトレースデータを表示する
Managed Service for OpenTelemetry コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーションリスト] をクリックします。
ページ上部でリージョンを選択し、アプリケーション名 [apiserver] をクリックして、コンソールのガイダンスに従ってトレース情報を表示します。
[トレース分析] タブ:API サーバー リクエストのトレース、アプリケーショントポロジーなどを表示します。
さまざまなタブの包括的なガイドについては、参照ドキュメントの「アプリケーションの詳細」をご参照ください。
ページ左上にある検索ボックスに
resources.k8s.cluster.name : "ClusterId"
と入力して、特定のクラスターのトレースをフィルタリングして表示します。ClusterId はクラスターリストにあります。
トレースリストのトレース ID をクリックすると、API サーバー リクエストトレースの詳細(トポロジービュー、関連するサービスの数、呼び出されたインターフェイスの数など)が表示されます。
[提供されるサービス] タブ:API サーバー API インターフェイスのリクエスト数、エラー数、平均応答時間を表示します。
[依存サービス] タブ:API サーバー が依存する外部コンポーネント(etcd など)を、リクエスト数、エラー数、平均応答時間とともに一覧表示します。
関連情報
クラスターデータプレーンコンポーネントのトレースデータの監視の詳細については、「データプレーンコンポーネントのトレースを有効にする」をご参照ください。