Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Enable Xtrace for ALB Ingress with an AlbConfig

Última atualização: Jun 27, 2026

Ative o Xtrace no AlbConfig para anexar IDs de rastreamento no ALB Ingress e correlacionar logs de acesso a rastreamentos distribuídos, sem precisar instrumentar cada serviço individualmente.

Pré-requisitos

Verifique se você possui:

Como funciona

Quando uma requisição atinge o listener do ALB, ele gera um ID de rastreamento com o algoritmo de amostragem Zipkin e o injeta nos cabeçalhos da requisição. O ALB encaminha a requisição ao backend com o ID de rastreamento anexado. Os logs de acesso, incluindo o ID de rastreamento, são gravados em um Logstore do Simple Log Service (SLS). O Managed Service for OpenTelemetry lê esses logs, reconstrói o rastreamento e o exibe no console OpenTelemetry.

Configure o Xtrace no nível do listener no AlbConfig. A taxa de amostragem aplica-se a todo o tráfego desse listener.

Ative o Xtrace para ALB Ingress

Etapa 1: Ative o Simple Log Service para o cluster

Ative o Simple Log Service no cluster para criar automaticamente um projeto SLS. Consulte Coletar logs de contêineres de cluster ACK.

Etapa 2: Obtenha o ID do projeto SLS

  1. Faça login no console ACK e clique em Clusters.

  2. Clique no nome do cluster e, em seguida, clique em Cluster Information.

  3. Na aba Basic Information, copie o valor de Simple Log Service Project para usar na Etapa 3.

Etapa 3: Crie um AlbConfig

O AlbConfig cria uma instância ALB com logs de acesso do Simple Log Service e Xtrace ativado no listener.

  1. Crie o arquivo alb-test.yaml:

    Modifique as configurações do Xtrace somente após ativar os logs de acesso do Simple Log Service na instância ALB. Para reutilizar uma instância ALB existente, defina forceOverride: true em spec.config para sobrescrever as propriedades existentes. Consulte Reutilizar uma instância ALB existente .
    Consulte Criar e gerenciar vSwitches .

    Parâmetros do Xtrace

    Parameter

    Description

    Default

    Range

    tracingEnabled

    Ativa o Xtrace para o listener

    false

    true / false

    tracingSample

    Taxa de amostragem. 10000 = 100%, 5000 = 50%, 1 = 0,01%

    1–10000

    tracingType

    Algoritmo de amostragem

    Zipkin

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: alb-demo
    spec:
      config:
        name: alb-test
        addressType: Intranet
        zoneMappings: # The vSwitch must be in an ALB-supported zone and the same VPC as the cluster. Select at least two vSwitches in different zones for high availability.
        - vSwitchId: vsw-2vc82nndnoo**********  # Replace with your vSwitch ID.
        - vSwitchId: vsw-2vc30f5mlhs**********
        accessLogConfig:
          logProject: "k8s-log-xz92lvykqj1siwvif****"  # Replace with your SLS project ID from Step 2.
          logStore: alb_xz92lvykqj1siwvif****           # Must start with "alb_". Created automatically if it does not exist.
      listeners:
      - port: 80
        protocol: HTTP
        logConfig:
          accessLogRecordCustomizedHeadersEnabled: false
          accessLogTracingConfig:
            tracingEnabled: true    # Set to true to enable Xtrace. Default: false.
            tracingSample: 9999     # Sampling rate. Range: 1-10000, where 10000 = 100%. Example: 9999 = 99.99%.
            tracingType: Zipkin     # Sampling algorithm. Only takes effect when tracingEnabled is true.
  2. Aplique o AlbConfig:

    kubectl apply -f alb-test.yaml

    Saída esperada:

    albconfig.alibabacloud.com/alb-demo created

Etapa 4: Crie uma IngressClass

  1. Crie o arquivo alb.yaml:

    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. Aplique a IngressClass:

    kubectl apply -f alb.yaml

    Saída esperada:

    ingressclass.networking.k8s.io/alb created

Etapa 5: Implante um serviço e configure o roteamento de Ingress

  1. Crie o arquivo cafe-service.yaml para implantar um Deployment coffee e um Service coffee-svc:

    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. Implante o serviço:

    kubectl apply -f cafe-service.yaml

    Saída esperada:

    deployment.apps/coffee created
    service/coffee-svc created
  3. Crie o arquivo cafe-ingress.yaml com as regras de roteamento de 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. Aplique o Ingress:

    kubectl apply -f cafe-ingress.yaml

    Saída esperada:

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

Etapa 6: Configure a resolução de nome de domínio

Se você definiu um domínio personalizado em spec.rules.host, adicione um registro CNAME apontando para o nome DNS do ALB. Consulte Criar e usar um ALB Ingress para expor Services a tráfego externo.

Etapa 7: Envie requisições para gerar dados de rastreamento

  1. Obtenha o endereço do ALB:

    kubectl get ing

    Saída esperada:

    NAME           CLASS   HOSTS                     ADDRESS                                              PORTS   AGE
    cafe-ingress   alb     demo.domain.ingress.top   alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com   80      16m
  2. Envie uma requisição:

    Os rastreamentos aparecem no console após a amostragem de requisições suficientes. Com tracingSample: 9999 (99,99%), uma única requisição basta. Com uma taxa menor, como tracingSample: 100 (1%), envie pelo menos 100 requisições.
    curl -H Host:demo.domain.ingress.top http://alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com/coffee
    for i in $(seq 1 100); do curl -s -o /dev/null -H Host:demo.domain.ingress.top http://alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com/coffee; done

    A resposta é uma página HTML intitulada Hello World.

Verifique o rastreamento

Verifique os logs de acesso do SLS

  1. Faça login no console ACK e clique em Clusters.

  2. Clique no nome do cluster e, em seguida, clique em Cluster Information.

  3. Na aba Basic Information, clique em Simple Log Service Project para abrir o console SLS. Selecione o Logstore cujo nome começa com alb_ (por exemplo, alb_xz92lvykqj1siwvif****). A busca por xtrace deve corresponder a slb_xtrace (ID de rastreamento) e xtrace_type (valor zipkin), confirmando que os logs de acesso registram dados de rastreamento.

    image

Visualize rastreamentos no console OpenTelemetry

  1. Faça login no console do Managed Service for OpenTelemetry.

  2. Na página Applications, selecione sua região e clique em API Calls > Trace para visualizar os dados de rastreamento. A aba exibe até 100 rastreamentos de maior duração. Consulte Chamadas de Interface.

Próximos passos