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

Container Service for Kubernetes:クラスターデータプレーンコンポーネントのトレースの有効化

最終更新日:Aug 30, 2026

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

トレースを初めて使用する場合は、「基本概念」で基本を学んでください。

前提条件

  • Kubernetes 1.28 以降を実行する 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 と Managed Service for OpenTelemetry のデータを Managed Service for OpenTelemetry から取得し、認証トークンをクラスターシークレットに保存します。これにより、OpenTelemetry Collector は設定および認証情報を読み取ることができます。

  2. OpenTelemetry Collector コンポーネントをデプロイして、可観測性データを収集、処理、エクスポートします。

    ACK マーケットプレイスを使用すると、DaemonSet モードで OpenTelemetry Collector をクラスターに迅速にデプロイできます。
  3. Kubelet の設定でトレースを有効にし、サンプリングレートなどの関連パラメーターを設定すると、OpenTelemetry Collector は収集したデータを Managed Service for OpenTelemetry に転送します。

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

  1. Managed Service for OpenTelemetry コンソールにログインします。 左側のナビゲーションペインで、アクセスセンターをクリックします。

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

  3. データレポート用のリージョンを選択し、Connection Method を Alibaba Cloud 内部ネットワークモード に、送信方式 を gRPC に設定します。後で使用するため、エンドポイント情報を保存しておきます。

    リージョンを初めて使用する場合、そのリソースは自動的に初期化されます。画面の指示に従ってプロセスを完了してください。

    ページにAlibaba Cloud VPC エンドポイントアドレスと認証トークンが表示されます。対応するコピーボタンをクリックしてコピーします。注:Golang を使用してデータを報告する場合、エンドポイントアドレスからhttp:// プレフィックスを削除してください。

ステップ 2:認証トークンをクラスターの Secret に保存

認証トークンを ACK クラスター内の Secret に保存します。OpenTelemetry Collector は、この認証トークンを変数として参照して使用します。Secret と、次のステップでインストールする OpenTelemetry Collector は、同じ名前空間に存在する必要があります。

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[設定] > [秘密] を選択します。

  3. 作成する をクリックし、画面の指示に従ってシークレットを作成します。

    パラメーター

    値

    例

    [名前]

    opentelemetry-exporter-config

    重要

    この名前を正確に使用してください。カスタム名は指定しないでください。

    タイプとして [Opaque] を選択します。

    [タイプ]

    Opaque

    次のパラメーターを設定して、データキーを追加します。

    [名前]

    grpc-token

    重要

    この名前を正確に使用してください。カスタム名は指定しないでください。

    [値] フィールドに認証トークンを入力し、[データ値をBase64でエンコード] を選択します。

    [値]

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

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

    はい

ステップ 3:OpenTelemetry Collector のインストール

OpenTelemetry Collector は、データの受信、処理、エクスポートのための統一された機能を提供する可観測性データコレクターです。Jaeger、Prometheus、Fluent Bit などのさまざまなオープンソースの可観測性データソースをサポートしており、複数のコレクターをデプロイする必要がなくなります。

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

  2. opentelemetry-collectorを検索し、アプリケーションカードをクリックします。

    このページには、コンポーネントの Helm チャートに関する説明とパラメーターのリファレンスが記載されています。このページの情報を確認するか、以下の手順に従って必要な設定を完了できます。
  3. ページの右上隅で、デプロイ をクリックします。クラスターと名前空間を選択し、画面の指示に従って次のステップに進みます。

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

  4. チャートバージョンを選択します。デフォルトバージョンの使用を推奨します。チャートのパラメーターを設定し、画面の指示に従ってチャートをインストールします。

    パラメーター

    説明

    mode

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

    mode: "daemonset"

    enableXtraceTokenFromSecret

    環境変数を使用して認証トークンを参照するには、このパラメーターを true に設定します。この方法では、OpenTelemetry Collector の設定に認証トークンが平文で格納されるのを防ぎ、機密情報の漏洩を回避します。

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

    exporters

    otlp という名前のエクスポーターを追加し、トレースデータの報告先アドレスを指定します。

    ステップ 1 で取得した内部エンドポイントを endpoint に設定します。

    exporters:
      otlp:
        endpoint: <your_intranet_endpoint>
        tls:
          insecure: true
        headers:
          Authentication: ${env:OPENTELEMETRY_GRPC_TOKEN}

    receivers

    OTLP/gRPC 経由で Kubelet トレースデータを受信するために、ローカルポート 4317 でリッスンするレシーバー otlp/kubelet を追加します。

      receivers:
        otlp/kubelet: # Creates a receiver named otlp/kubelet.
          protocols:
            grpc:
              endpoint: 127.0.0.1:4317

    service.pipelines.traces

    トレース処理パイプラインを設定します。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

    hostNetwork

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

    hostNetwork: true

    インストールが成功すると、自動的に Helm ページにリダイレクトされます。

    ワークロード > Daemon Sets ページに移動します。コンポーネントの名前空間を選択します。opentelemetry-collector-agent という名前の DaemonSet が存在し、そのすべての Pod が実行中であれば、インストールは成功です。

ステップ 4:Kubelet のトレースの有効化

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

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

  3. ノードプールリストで、対象のノードプールを見つけ、アクション 列の image > Kubelet の設定 を選択します。カスタムパラメーターを追加し、注意事項を確認し、アップグレードするノードを選択して、バッチ更新ポリシー (1 回の修復で修復可能なノード数の上限) を設定します。その後、送信 をクリックします。

    • ドロップダウンリストから、[トレーシング] を選択し、次に [エンドポイント] を選択します。値を localhost:4317 に設定します。これにより、Kubelet トレースデータが localhost:4317 に送信されます。このアドレスは、ステップ 3 で設定した otlp/kubelet レシーバーの endpoint に対応します。

    • ドロップダウンリストから再度 [tracing] を選択し、次に [samplingRatePerMillion] を選択します。このパラメーターはサンプリングレートを制御し、100万 リクエストごとにサンプリングされるリクエスト数を決定します。全体的な設定によっては、トレースがクラスターのネットワークと CPU パフォーマンスに影響を与える可能性があります。パフォーマンスの問題が発生した場合は、クラスターの負荷に基づいてサンプリングレートを下げてください。

      たとえば、値が 1000000 の場合は 100% のサンプリングレートを示し、すべてのリクエストがサンプリングされることを意味します。値が 100000 の場合は 10% のサンプリングレート、10000 の場合は 1% のサンプリングレートを示します。

ステップ 5:OpenTelemetry でのトレースデータの表示

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

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

    このセクションでは、主要なタブのみを説明します。各タブの詳細については、「アプリケーション詳細」をご参照ください。
    • 呼び出しチェーン分析 タブ: Kubelet リクエストのトレースやアプリケーション トポロジーなどの情報を表示します。

      • 左上隅の検索ボックスに resources.k8s.cluster.name : "YourClusterId" を入力して、特定のクラスターのトレースを絞り込みます。

        クラスター ID は、ACK コンソールのクラスターリストから取得できます。
      • トレースリストでトレース ID をクリックすると、トポロジービュー、関連するサービス数、API コール数など、Kubelet リクエストトレースの詳細が表示されます。

    • [サービスの提供] タブ: Kubelet が提供するインターフェイスのリクエスト数、エラー数、平均レイテンシーを表示します。

    • [依存サービス] タブ: containerd などの Kubelet が依存するサービスへのリクエストに関する情報を表示します。この情報には、リクエスト数、エラー数、平均レイテンシーが含まれます。

関連ドキュメント

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