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

Container Service for Kubernetes:AlbConfig を使用して Xtrace ベースのトレース分析を有効にする

最終更新日:May 27, 2025

Alibaba Cloud は、トレースマッピング、リクエスト統計、トレーストポロジーなど、分散アプリケーションの開発者にさまざまな機能を提供するトレース分析サービスを提供しています。 トレース分析サービスは、分散アプリケーションアーキテクチャのパフォーマンスボトルネックを迅速に分析および診断するのに役立ち、マイクロサービスアプリケーションの開発と診断の効率を向上させます。 Application Load Balancer (ALB) Ingress コントローラーをインストールし、クラスターで Xtrace 機能を有効にすることができます。 Xtrace 機能を有効にすると、トレースデータを表示できます。

前提条件

AlbConfig のトレース分析を有効にする

手順 1: クラスターの Simple Log Service を有効にする

Simple Log Service を有効にすると、クラスターは Simple Log Service プロジェクトを自動的に作成します。 詳細については、「ACK クラスターからコンテナーログを収集する」をご参照ください。

手順 2: Simple Log Service projectfor subsequent operations

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

  2. [クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。 左側のウィンドウで、[クラスター情報] をクリックします。

  3. [クラスター情報] ページで、[基本情報] タブをクリックし、[Log Service プロジェクト] パラメーターの横にある ID をコピーします。

手順 3: AlbConfig を作成する

AlbConfig を使用して、ALB インスタンスとリスナーを作成します。 アクセスログを収集するために、ALB インスタンスの Simple Log Service を有効にします。 AlbConfig で Xtrace 機能に関連するパラメーターを構成します。 サンプリングアルゴリズムとサンプリングレートを設定するために Xtrace 機能を有効にします。

  1. 次の内容を alb-test.yaml ファイルにコピーします。 このファイルは、AlbConfig を作成するために使用されます。

    説明

    既存の ALB インスタンスを再利用し、AlbConfig を使用して SLS を有効にする場合は、forceOverride パラメーターを true に設定して、ALB インスタンスの属性を強制的に上書きする必要があります。 詳細については、「既存の ALB インスタンスを再利用する」をご参照ください。

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: alb-demo
    spec:
      config:
        name: alb-test
        addressType: Intranet
        zoneMappings: # 指定された vSwitch は、ALB インスタンスでサポートされているゾーンにあり、クラスターと同じ virtual private cloud (VPC) にある必要があります。 サービスの高可用性を確保するために、異なるゾーンにある少なくとも 2 つの vSwitch を選択します。
        -vSwitchId: vsw-2vc82nndnoo********** # ALB インスタンスで使用される vSwitch の ID を指定します。
        - vSwitchId: vsw-2vc30f5mlhs**********
        accessLogConfig:
          logProject: "k8s-log-xz92lvykqj1siwvif****" # 取得した Simple Log Service プロジェクトの ID を指定します。
          logStore: alb_xz92lvykqj1siwvif**** # Logstore 名は alb_ で始まる必要があります。 指定された Logstore が存在しない場合、システムは自動的に作成します。
      listeners:
      - port: 80
        protocol: HTTP
        logConfig:
          accessLogRecordCustomizedHeadersEnabled: false
          accessLogTracingConfig: # Xtrace 機能に関連するパラメーター。
            tracingEnabled: true # Xtrace 機能を有効にするか無効にするかを指定します。 デフォルト値は false です。 Xtrace を有効にするには、このパラメーターを true に設定します。
            tracingSample: 9999 # Xtrace 機能のサンプリングレート。 有効な値: 1 ~ 10000。 このパラメーターは、tracingEnabled を true に設定した場合にのみ有効になります。
            tracingType: Zipkin # Xtrace 機能のサンプリングアルゴリズム。 値を Zipkin に設定します。 このパラメーターは、tracingEnabled を true に設定した場合にのみ有効になります。
    説明
    • vSwitch の作成方法の詳細については、「vSwitch を作成および管理する」をご参照ください。

    • ALB インスタンスの Simple Log Service のアクセスログ機能を有効にした場合にのみ、Xtrace 構成を変更できます。

  2. 次のコマンドを実行して、AlbConfig を作成します。

    kubectl apply -f alb-test.yaml

    予期される出力:

    albconfig.alibabacloud.com/alb-demo created

手順 4: IngressClass を作成する

  1. alb.yaml という名前のファイルを作成し、次の内容をファイルにコピーします。 このファイルは、IngressClass を作成するために使用されます。

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: alb
    spec:
      controller: ingress.k8s.alibabacloud/alb
      parameters:
        apiGroup: alibabacloud.com
        kind: AlbConfig
        name: alb-demo
  2. 次のコマンドを実行して、IngressClass を作成します。

    kubectl apply -f alb.yaml

    予期される出力:

    ingressclass.networking.k8s.io/alb created

手順 5: サービスを作成し、Ingress の転送ルールを構成する

  1. cafe-service.yaml という名前のファイルを作成し、次の内容をファイルにコピーします。 このファイルは、coffee という名前の Deployment と coffee という名前のサービスを作成するために使用されます。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: coffee
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: coffee
      template:
        metadata:
          labels:
            app: coffee
        spec:
          containers:
          - name: coffee
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: coffee-svc
    spec:
      ports:
      - port: 80
        targetPort: 80
        protocol: TCP
      selector:
        app: coffee
      type: NodePort
  2. 次のコマンドを実行して、Deployment とサービスをデプロイします。

    kubectl apply -f cafe-service.yaml

    予期される出力:

    deployment.apps/coffee created
    service/coffee-svc created
  3. cafe-ingress.yaml という名前のファイルを作成し、次の内容をファイルにコピーします。 このファイルは、サービスを公開するために ALB Ingress の転送ルールを構成するために使用されます。

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: cafe-ingress
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          # コンテキストパスを指定します。
          - path: /coffee
            pathType: ImplementationSpecific
            backend:
              service:
                name: coffee-svc
                port:
                  number: 80
  4. 次のコマンドを実行して、coffee サービスの公開アクセス可能なドメイン名とパスを構成します。

    kubectl apply -f cafe-ingress.yaml

    予期される出力:

    ingress.networking.k8s.io/cafe-ingress created

手順 6: ドメイン名解決を構成する

Ingress を作成するときに spec.rules.host パラメーターをカスタムドメイン名に設定した場合は、ドメイン名を ALB インスタンスのドメイン名にマップするために CNAME レコードを追加する必要があります。 その後、カスタムドメイン名を使用してサービスにアクセスできます。 詳細については、「(オプション) 手順 5: ドメイン名解決を構成する」をご参照ください。

手順 7: サービスにアクセスする

サービスにアクセスすると、生成されたリクエストには Xtrace ID が含まれます。

  1. 次のコマンドを実行して、ALB インスタンスのアドレス (ADDRESS) を取得します。

    kubectl get ing

    予期される出力:

    NAME           CLASS   HOSTS                     ADDRESS                                              PORTS   AGE
    cafe-ingress   alb     demo.domain.ingress.top   alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com   80      16m
  2. 次のコマンドを実行して、サービスにアクセスします。

    curl -H Host:demo.domain.ingress.top http://alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com/coffee

    予期される出力は、Hello World というタイトルの HTML ページです。

トレース分析を確認する

  1. Simple Log Service で ALB インスタンスに送信されたリクエストを確認して、Xtrace データがマークされていることを確認します。

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

    2. [クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。 左側のウィンドウで、[クラスター情報] をクリックします。

    3. [クラスター情報] ページで、[基本情報] タブをクリックし、[Log Service プロジェクト] の横にあるリンクをクリックして、Simple Log Service コンソールに移動します。 左側のナビゲーションウィンドウで、この例では alb_xz92lvykqj1siwvif**** など、alb_ で始まる名前の Logstore をクリックします。 次に、現在のページで xtrace を検索します。

      image

  2. Managed Service for OpenTelemetry コンソール にログインします。

  3. [アプリケーション] ページで、上部のナビゲーションバーでリージョンを選択し、アプリケーションの名前をクリックします。

  4. 左側のナビゲーションウィンドウで、[インターフェース呼び出し] をクリックし、[トレース] タブをクリックして、トレースデータを表示します。

    [トレース] タブには、アプリケーションの期間が最も長い最大 100 件のトレースが表示されます。 トレースデータの詳細については、「API 呼び出し」をご参照ください。

参考資料