すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:WordPress への JavaScript の追加

最終更新日:Jun 04, 2025

kubelet のトレース分析は、ポッド ライフサイクル管理や API 呼び出しなど、ノード上で kubelet によって実行される主要な操作のトレースを記録できます。これにより、システム パフォーマンス ボトルネックの特定とクラスターの問題のトラブルシューティングに役立ちます。トレース分析を有効にすると、kubelet のリンク情報が Managed Service for OpenTelemetry に自動的にレポートされます。この機能は、トレースの詳細やリアルタイム トポロジーなどのモニタリングデータを提供します。

トレースに慣れていない場合は、基本概念を参照して、関連する基本概念を理解することができます。

前提条件

  • Kubernetes 1.28 以後を実行する ACK マネージドクラスター または ACK 専用クラスター が作成されていること。クラスターをアップグレードする方法の詳細については、「ACK クラスタを手動でアップグレードする」をご参照ください。

  • Helm のバージョンが V3 であること。Helm を更新する方法の詳細については、「Helm V2 から Helm V3 に更新する」をご参照ください。

    OpenTelemetry Collector をインストールする場合、Helm のバージョンは 3.9 以後でなければなりません。
  • Managed Service for OpenTelemetry がアクティブ化され、承認されていること。詳細については、「準備」をご参照ください。

    Managed Service for OpenTelemetry は、完全なトレース復元、リクエスト量統計、トレース トポロジー、アプリケーション依存関係分析など、分散アプリケーション向けのツールを提供します。
説明

この機能を使用すると、ACK クラスタ の費用に加えて、Managed Service for OpenTelemetry によって収集された監視可能データの量に対する費用が発生します。Managed Service for OpenTelemetry の無料枠と具体的な料金の詳細については、「課金情報」をご参照ください。


次のセクションでは、クラスタ データプレーンでトレース分析を有効にするプロセスについて説明します。

  1. Managed Service for OpenTelemetry のエンドポイントと認証トークンを取得し、認証トークンをクラスタ シークレットに保存して、OpenTelemetry Collector が構成と認証情報を読み取れるようにします。

  2. 監視データの収集、処理、エクスポートを行うために、OpenTelemetry Collector をデプロイします。

    Container Service for Kubernetes (ACK) のマーケットプレイスでは、OpenTelemetry Collector を DaemonSet モードでクラスターにデプロイできます。
  3. kubelet を使用してトレース分析を有効にし、関連パラメータ (サンプルレート) を構成します。収集されたデータは、OpenTelemetry Collector を使用して Managed Service for OpenTelemetry に転送されます。

ステップ 1: エンドポイントと認証トークンを取得する

  1. Managed Service for OpenTelemetry コンソール にログインします。左側のナビゲーションウィンドウで、[統合センター] をクリックします。

  2. [オープンソース フレームワーク] セクションで、[OpenTelemetry] カードをクリックします。

  3. データ レポーティング リージョンを選択し、[接続タイプ][Alibaba Cloud VPC ネットワーク] に、[エクスポート プロトコル][gRPC] に設定します。その後、後で使用するためにエンドポイント情報を保存します。

    初めてアクセスするリージョンでは、リソースが自動的に初期化されます。ページの指示に従って操作を実行してください。

    image

ステップ 2: 認証トークンをクラスターのシークレットに保存する

認証トークンを ACK クラスタ内のシークレットに保存し、OpenTelemetry Collector の環境変数を通じて参照します。シークレットは、ステップ 3 でデプロイされる OpenTelemetry Collector と同じ名前空間に存在する必要があります。

デフォルトでは、OpenTelemetry Collector は otel-collector 名前空間にデプロイされます。 otel-collector という名前の名前空間を手動で作成するか、別の名前空間を使用して、OpenTelemetry Collector をインストールするときに選択できます。
  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、変更するクラスターの名前をクリックします。左側のウィンドウで、[構成] > [シークレット] を選択します。

  3. [作成] をクリックします。指示に従ってパラメータを構成し、シークレットを作成します。次の表にパラメータを示します。

    パラメータ

    有効な値

    [名前]

    opentelemetry-exporter-config

    重要

    カスタム名ではなく、この値を使用してください。

    image

    [タイプ]

    Opaque

    シークレットを追加 ダイアログボックスのパラメータ:

    [名前] (キー)

    grpc-token

    重要

    カスタム名ではなく、この値を使用してください。

    image

    [値]

    ステップ 1 で取得した認証トークン。

    [Base64 を使用してデータ値をエンコードする]

    有効

ステップ 3: OpenTelemetry Collector をインストールする

OpenTelemetry Collector は、データの受信、処理、エクスポート機能を統合的に提供する、監視可能データ コレクターです。 OpenTelemetry Collector を使用すると、Jaeger、Prometheus、Fluent Bit など、さまざまなタイプのオープンソース監視可能データに接続できます。これにより、複数の監視可能コレクターをデプロイする必要がなくなります。

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[マーケットプレイス] > [マーケットプレイス] を選択します。

  2. opentelemetry-collector を検索して、カードをクリックします。

    このページには、コンポーネントの紹介とパラメータの説明が含まれています。このページを読むか、次のガイドラインに従って必要な構成を完了することができます。
  3. ページの右上隅にある [デプロイ] をクリックします。表示されるダイアログボックスで、クラスターと名前空間を選択します。次に、ページの指示に従って次のステップに進みます。

    コンポーネントの名前空間は、ステップ 2 で作成したシークレットの名前空間と同じである必要があります。

  4. チャート バージョンを選択します。デフォルト バージョンを使用することをお勧めします。指示に従ってパラメータを構成し、チャートをインストールします。

    パラメータ

    説明

    mode

    このパラメータを daemonset に設定して、OpenTelemetry Collector を DaemonSet モードでデプロイします。

    mode: "daemonset"

    image

    enableXtraceTokenFromSecret

    このパラメータを true に設定して、環境変数を通じて認証トークンを参照します。有効にすると、トークンは OpenTelemetry Collector のシークレットにプレーンテキストとして保存されなくなり、機密情報の漏洩を防ぎます。

    enableXtraceTokenFromSecret: true
    ステップ 2 の操作を完了していることを確認してください。そうしないと、チャートのデプロイに失敗します。

    image

    exporters

    otlp という名前のデータ エクスポーターを追加して、トレース データがレポートされる URL を指定します。

    endpoint を、ステップ 1 で取得したエンドポイントに置き換えます。

    exporters:
      otlp:
        endpoint: <取得した内部エンドポイント>
        tls:
          insecure: true
        headers:
          Authentication: ${env:OPENTELEMETRY_GRPC_TOKEN}

    image

    receivers

    otlp/kubelet という名前のレシーバーを追加して、ポート 4317 でリッスンし、OTLP または gRPC を使用して kubelet データを受信します。

      receivers:
        otlp/kubelet: # otlp/kubelet という名前のレシーバーを作成します。
          protocols:
            grpc:
              endpoint: 127.0.0.1:4317

    image

    service.pipelines.traces

    OpenTelemetry Collector の処理パイプラインを構成し、otlp エクスポーターを service.pipelines.traces.exporters に追加し、otlp/kubelet レシーバーを service.pipelines.traces.receivers に追加します。

          traces:
            exporters:
              - debug
              - otlp
            processors:
              - memory_limiter
              - batch
              - resource
            receivers:
              - otlp
              - jaeger
              - zipkin
              - otlp/kubelet

    image

    hostNetwork

    このパラメータを true に設定します。 OpenTelemetry Collector は、通信にホストの IP アドレスとポートを使用できます。

    hostNetwork: true

    image

    インストール後、ページは自動的に [Helm] ページにリダイレクトされます。

    左側のナビゲーションウィンドウで、[ワークロード] > [DaemonSets] を選択します。 [DaemonSets] ページで、コンポーネントの名前空間を選択します。 opentelemetry-collector-agent という名前の DaemonSet があり、すべてのポッドのステータスが Running の場合、OpenTelemetry Collector はインストールされています。

ステップ 4: kubelet のトレース分析を有効にする

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

  3. ノードプール[ノードプール] ページで、ターゲット ノードプールを見つけて、 列の image > [Kubelet 構成]アクション を選択します。指示に従ってカスタム パラメータを追加し、重要な考慮事項を読み、更新するノードを選択し、[バッチ更新ポリシー] ([バッチごとに修復するノードの最大数]) を構成し、[送信] をクリックします。

    • [カスタム パラメータ] セクションで、[+ カスタム パラメータ] をクリックします。 [名前] パラメータのドロップダウン リストから [tracing] を選択し、[endpoint] を選択します。 [値] パラメータを localhost:4317 に設定します。これは、kubelet トレース データが localhost:4317 に送信されることを示します。このアドレスは、ステップ 3 の otlp/kubelet レシーバーの endpoint に対応します。

    • [+ カスタム パラメータ] をクリックし、[名前] パラメータのドロップダウン リストから [tracing] を選択し、[samplingRatePerMillion] を選択します。コントロール サンプルレートは、100 万リクエストあたりにサンプリングされるリクエストの割合を決定します。全体的な構成によっては、トレース分析がクラスター ネットワークと CPU パフォーマンスに影響を与える可能性があります。パフォーマンスの問題が発生した場合は、クラスターの負荷に応じてサンプルレートを減らすことができます。

      たとえば、1000000 は 100% のサンプルレートを表します。つまり、100 万リクエストごとに、すべてのリクエストがサンプリングされて記録されます。 100000 は 10% のサンプルレートを表します。 10000 は 1% のサンプルレートを表します。

      image

ステップ 5: Managed Service for OpenTelemetry コンソールでトレース データを表示する

  1. Managed Service for OpenTelemetry コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。

  2. ページの上部でリージョンを選択し、アプリケーション名 Kubelet をクリックし、コンソールの指示に従ってトレース情報を表示します。

    次のセクションでは、メイン タブについて説明します。タブの詳細については、「アプリケーションの詳細」をご参照ください。
    • [トレース エクスプローラー]: kubelet リクエストのトレースとアプリケーション トポロジーを表示します。

      • ページの左上隅にある検索ボックスに resources.k8s.cluster.name : "ClusterId" と入力して、指定したクラスターのトレースをフィルタリングします。

        クラスター ID は、クラスター リストで取得できます。
      • トレース リストのトレース ID をクリックして、kubelet リクエストのトレースの詳細を表示します。これには、トポロジー ビュー、関連するサービスの数、呼び出されたインターフェイスの数が含まれます。

    • [提供されるサービス]: kubelet によって提供されるインターフェイスのリクエスト数、エラー数、平均期間を表示します。

    • [依存関係]: kubelet 依存サービスへのリクエスト。たとえば、containerd のリクエスト数、エラー数、平均期間などです。

参照

クラスターの API サーバー のトレース データを監視および記録するには、「クラスター コントロールプレーン コンポーネントのトレース分析を有効にする」をご参照ください。