All Products
Search
Document Center

Container Service for Kubernetes:Aktifkan Xtrace untuk ALB Ingress dengan AlbConfig

Last Updated:Jun 23, 2026

Aktifkan Xtrace dalam AlbConfig untuk menyisipkan ID jejak pada ingress ALB dan mengkorelasikan log akses dengan jejak terdistribusi—tanpa perlu instrumentasi per layanan.

Prasyarat

Pastikan Anda telah:

Cara kerja

Saat permintaan mencapai listener ALB, ALB menghasilkan ID jejak menggunakan algoritma pengambilan sampel Zipkin dan menyuntikkannya ke header permintaan. ALB meneruskan permintaan ke backend dengan ID jejak yang dilampirkan. Log akses—termasuk ID jejak—ditulis ke Logstore Simple Log Service (SLS). Managed Service for OpenTelemetry membaca log tersebut, merekonstruksi jejak, dan menampilkannya di konsol OpenTelemetry.

Konfigurasikan Xtrace di tingkat listener dalam AlbConfig. Laju pengambilan sampel berlaku untuk seluruh traffic pada listener tersebut.

Aktifkan Xtrace untuk ALB Ingress

Langkah 1: Aktifkan Simple Log Service untuk kluster

Aktifkan Simple Log Service untuk kluster Anda agar proyek SLS dibuat secara otomatis. Lihat Kumpulkan log dari kontainer kluster ACK.

Langkah 2: Dapatkan ID proyek SLS

  1. Masuk ke Konsol ACK dan klik Clusters.

  2. Klik nama kluster Anda, lalu klik Cluster Information.

  3. Pada tab Basic Information, salin nilai Simple Log Service Project untuk Langkah 3.

Langkah 3: Buat AlbConfig

AlbConfig membuat instans ALB dengan log akses Simple Log Service dan Xtrace yang diaktifkan pada listener.

  1. Buat alb-test.yaml:

    Ubah pengaturan Xtrace hanya setelah log akses Simple Log Service diaktifkan pada instans ALB. Untuk menggunakan kembali instans ALB yang sudah ada, atur forceOverride: true di bawah spec.config untuk menimpa properti yang sudah ada. Lihat Gunakan kembali instans ALB yang sudah ada.
    Lihat Buat dan kelola vSwitch.

    Parameter Xtrace

    Parameter

    Deskripsi

    Default

    Rentang

    tracingEnabled

    Mengaktifkan Xtrace untuk pendengar

    false

    true / false

    tracingSample

    Laju pengambilan sampel. 10000 = 100%, 5000 = 50%, 1 = 0,01%

    1–10000

    tracingType

    Algoritma pengambilan sampel

    Zipkin

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: alb-demo
    spec:
      config:
        name: alb-test
        addressType: Intranet
        zoneMappings: # vSwitch harus berada di zona yang didukung ALB dan VPC yang sama dengan kluster. Pilih minimal dua vSwitch di zona berbeda untuk ketersediaan tinggi.
        - vSwitchId: vsw-2vc82nndnoo**********  # Ganti dengan ID vSwitch Anda.
        - vSwitchId: vsw-2vc30f5mlhs**********
        accessLogConfig:
          logProject: "k8s-log-xz92lvykqj1siwvif****"  # Ganti dengan ID proyek SLS Anda dari Langkah 2.
          logStore: alb_xz92lvykqj1siwvif****           # Harus dimulai dengan "alb_". Dibuat otomatis jika belum ada.
      listeners:
      - port: 80
        protocol: HTTP
        logConfig:
          accessLogRecordCustomizedHeadersEnabled: false
          accessLogTracingConfig:
            tracingEnabled: true    # Atur ke true untuk mengaktifkan Xtrace. Default: false.
            tracingSample: 9999     # Laju pengambilan sampel. Rentang: 1-10000, di mana 10000 = 100%. Contoh: 9999 = 99,99%.
            tracingType: Zipkin     # Algoritma pengambilan sampel. Hanya berlaku saat tracingEnabled bernilai true.
  2. Terapkan AlbConfig:

    kubectl apply -f alb-test.yaml

    Output yang diharapkan:

    albconfig.alibabacloud.com/alb-demo created

Langkah 4: Buat IngressClass

  1. Buat 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. Terapkan IngressClass:

    kubectl apply -f alb.yaml

    Output yang diharapkan:

    ingressclass.networking.k8s.io/alb created

Langkah 5: Sebarkan layanan dan konfigurasikan routing Ingress

  1. Buat cafe-service.yaml untuk menyebarkan Penyebaran coffee dan Layanan 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. Sebarkan layanan:

    kubectl apply -f cafe-service.yaml

    Output yang diharapkan:

    deployment.apps/coffee created
    service/coffee-svc created
  3. Buat cafe-ingress.yaml dengan aturan routing 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. Terapkan Ingress:

    kubectl apply -f cafe-ingress.yaml

    Output yang diharapkan:

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

Langkah 6: Konfigurasikan resolusi nama domain

Jika Anda menetapkan domain kustom di spec.rules.host, tambahkan Rekaman CNAME yang mengarah ke nama DNS ALB. Lihat Buat dan gunakan ALB Ingress untuk mengekspos Layanan ke traffic eksternal.

Langkah 7: Kirim permintaan untuk menghasilkan data jejak

  1. Dapatkan alamat ALB:

    kubectl get ing

    Output yang diharapkan:

    NAME           CLASS   HOSTS                     ADDRESS                                              PORTS   AGE
    cafe-ingress   alb     demo.domain.ingress.top   alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com   80      16m
  2. Kirim permintaan:

    Jejak akan muncul di konsol setelah cukup banyak permintaan diambil sampelnya. Dengan tracingSample: 9999 (99,99%), satu permintaan sudah cukup. Dengan laju yang lebih rendah—misalnya, tracingSample: 100 (1%)—kirim minimal 100 permintaan.
    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

    Tanggapan berupa halaman HTML berjudul Hello World.

Verifikasi tracing

Periksa log akses SLS

  1. Masuk ke Konsol ACK dan klik Clusters.

  2. Klik nama kluster Anda, lalu klik Cluster Information.

  3. Pada tab Basic Information, klik tautan Simple Log Service Project untuk membuka konsol SLS. Pilih Logstore yang namanya diawali dengan alb_ (misalnya, alb_xz92lvykqj1siwvif****). Pencarian xtrace harus sesuai dengan slb_xtrace (ID jejak) dan xtrace_type (nilai zipkin), yang mengonfirmasi bahwa log akses mencatat data tracing.

    image

Lihat jejak di konsol OpenTelemetry

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

  2. Pada halaman Applications, pilih wilayah Anda dan klik nama aplikasi Anda.

  3. Klik API Calls > Trace untuk melihat data jejak. Tab ini menampilkan hingga 100 jejak dengan durasi terpanjang. Lihat Panggilan Antarmuka.

Langkah selanjutnya