全部产品
Search
文档中心

Alibaba Cloud Service Mesh:ASMExtensionProvider CRD

更新时间:Jun 28, 2025

ASMExtensionProvider adalah komponen yang dirancang untuk meningkatkan dan mengonfigurasi fitur-fitur Alibaba Cloud Service Mesh (ASM), memungkinkan integrasi fleksibel serta konfigurasi kustom dari fitur utama seperti analisis tracing dan log akses. Topik ini menjelaskan cara mengonfigurasi ASMExtensionProvider serta memperkenalkan bidang-bidang spesifik.

Konfigurasi contoh

Konfigurasikan analisis tracing menggunakan Zipkin

Contoh kode berikut menunjukkan cara melaporkan analisis tracing menggunakan Zipkin.

apiVersion: istio.alibabacloud.com/v1
kind: ASMExtensionProvider
metadata:
  name: zipkin
spec:
  zipkin:
    port: 8090
    service: zipkin.istio-system.svc.cluster.local

Konfigurasikan format log akses yang dihasilkan oleh proxy Envoy

Contoh kode berikut menunjukkan cara mengonfigurasi format log akses yang dihasilkan oleh proxy Envoy.

apiVersion: istio.alibabacloud.com/v1
kind: ASMExtensionProvider
metadata:
  name: envoy
spec:
  envoyFileAccessLog:
    logFormat:
      text: '{"bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_response_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","authority_for":"%REQ(:AUTHORITY)%"}'
    path: /dev/stdout

Konfigurasikan metode pelaporan jejak untuk kluster yang berbeda

Contoh kode berikut menunjukkan konfigurasi untuk penyedia agregat, di mana cluster-a mengirimkan data tracing menggunakan Zipkin, sementara kluster lainnya menggunakan OpenTelemetry.

Penting

Hanya ASM versi 1.22.6.89 dan yang lebih baru yang didukung.

apiVersion: istio.alibabacloud.com/v1
kind: ASMExtensionProvider
metadata:
  name: aggregate-provider
spec:
  aggregate:
    defaultProvider:
      name: opentelemetry
    uniqueProviders:
    - clusters:
      - id: cluster-a
        region: cn-hangzhou
      provider:
        name: zipkin
---
apiVersion: istio.alibabacloud.com/v1
kind: ASMExtensionProvider
metadata:
  name: zipkin
spec:
  zipkin:
    port: 8090
    service: zipkin.istio-system.svc.cluster.local
---
apiVersion: istio.alibabacloud.com/v1
kind: ASMExtensionProvider
metadata:
  name: opentelemetry
spec:
  opentelemetry:
    port: 8090
    service: otel.istio-system.svc.cluster.local

Impor penyedia dalam Telemetry CRD

apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: default
  namespace: istio-system
spec:
  accessLogging:
  - disabled: false
    providers:
    - name: envoy
  tracing:
  - providers:
    - name: zipkin

Item konfigurasi

ASMExtensionProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

zipkin

ZipkinTracingProvider

Tidak

Mengonfigurasi analisis tracing untuk Zipkin.

lightstep

LightstepTracingProvider

Tidak

Mengonfigurasi analisis tracing untuk Lightstep.

datadog

DatadogTracingProvider

Tidak

Mengonfigurasi analisis tracing untuk Datadog.

stackdriver

StackdriverProvider

Tidak

Mengonfigurasi analisis tracing untuk Stackdriver.

opencensus

OpenCensusAgentTracingProvider

Tidak

Mengonfigurasi analisis tracing untuk OpenCensus.

skywalking

SkywalkingTracingProvider

Tidak

Mengonfigurasi analisis tracing untuk Skywalking.

opentelemetry

OpenTelemetryProvider

Tidak

Mengonfigurasi analisis tracing untuk OpenTelemetry.

envoyFileAccesslog

EnvoyFileAccessLogProvider

Tidak

Mengonfigurasi log akses proxy Envoy

aggregate

AggregateProvider

Tidak

Penyedia agregat untuk mengonfigurasi penyedia yang berbeda untuk kluster yang berbeda.

Penting

Pastikan nama penyedia sesuai dengan layanan dalam ASM sebelum mengonfigurasi penyedia tracing. Untuk layanan eksternal, pendaftaran diperlukan melalui ServiceEntry. Untuk informasi lebih lanjut, lihat Service Entry.

ZipkinTracingProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

service

string

Ya

Nama layanan Zipkin.

path

string

Ya

Path permintaan layanan Zipkin.

port

uint32

Tidak

Port layanan Zipkin.

maxTagLength

uint32

Tidak

Panjang karakter maksimum untuk setiap tag. Nilai default adalah 256.

LightstepTracingProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

service

string

Ya

Nama layanan Lightstep.

port

uint32

Ya

Port layanan Lightstep.

accesstoken

string

Tidak

Token akses layanan Lightstep.

maxTagLength

uint32

Tidak

Panjang karakter maksimum untuk setiap tag. Nilai default adalah 256.

DatadogTracingProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

service

string

Ya

Nama layanan Datadog.

port

uint32

Ya

Port layanan Datadog.

maxTagLength

uint32

Tidak

Panjang karakter maksimum untuk setiap tag. Nilai default adalah 256.

StackdriverProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

maxTagLength

uint32

Tidak

Panjang karakter maksimum untuk setiap tag. Nilai default adalah 256.

logging

StackdriverProvider_Logging

Tidak

Logging Stackdriver.

OpenCensusAgentTracingProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

service

string

Ya

Nama layanan OpenCensusAgent.

port

uint32

Ya

Port layanan OpenCensusAgent.

context

[]string

Tidak

Propagasi header yang digunakan untuk tracing terdistribusi. Nilai default: ["W3C_TRACE_CONTEXT"].

maxTagLength

uint32

Tidak

Panjang karakter maksimum untuk setiap tag. Nilai default adalah 256.

SkywalkingTracingProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

service

string

Ya

Nama layanan Skywalking.

port

uint32

Ya

Port layanan Skywalking.

OpenTelemetryProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

service

string

Ya

Nama layanan OpenTelemetry.

port

uint32

Ya

Port layanan OpenTelemetry.

maxTagLength

uint32

Tidak

Panjang karakter maksimum untuk setiap tag. Nilai default adalah 256.

grpc

OpenTelemetryProvider_GrpcService

Tidak

Protokol gRPC yang digunakan untuk melaporkan data.

http

OpenTelemetryProvider_HttpService

Tidak

Protokol HTTP yang digunakan untuk melaporkan data. Jika tidak ditentukan, protokol gRPC digunakan secara default untuk pelaporan data.

EnvoyFileAccessLogProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

path

string

Tidak

Path tempat log dikeluarkan.

logFormat

EnvoyFileAccessLogProvider_LogFormat

Tidak

Format log. Bisa berupa text atau labels.

AggregateProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

defaultProvider

ProviderRef

Ya

Penyedia default yang digunakan.

uniqueProviders

[]UniqueProvider

Tidak

Penyedia yang dikonfigurasi untuk kluster yang berbeda.

UniqueProvider

Item konfigurasi

Tipe

Diperlukan

Deskripsi

provider

ProviderRef

Tidak

Penyedia untuk referensi.

clusters

[]ClusterRef

Tidak

Kluster untuk referensi.

StackdriverProvider_Logging

Item konfigurasi

Tipe

Diperlukan

Deskripsi

labels

map[string]string

Tidak

Nama label dan ekspresi yang akan disertakan dalam entri log. Contoh: path: request.url_path.

OpenTelemetryProvider_HttpService

Item konfigurasi

Tipe

Diperlukan

Deskripsi

path

string

Ya

Path layanan.

timeout

string

Tidak

Periode timeout untuk permintaan HTTP.

headers

[]HeaderValue

Tidak

Header permintaan HTTP kustom yang ditambahkan ke setiap permintaan HTTP.

OpenTelemetryProvider_GrpcService

Item konfigurasi

Tipe

Diperlukan

Deskripsi

timeout

string

Tidak

Periode timeout selama permintaan gRPC direspons.

initialMetaData

[]HeaderValue

Tidak

Header permintaan kustom yang ditambahkan ke setiap permintaan gRPC.

HeaderValue

Item konfigurasi

Tipe

Diperlukan

Deskripsi

name

string

Ya

Nama header permintaan.

value

string

Ya

Nilai header permintaan.

EnvoyFileAccessLogProvider_LogFormat

Item konfigurasi

Tipe

Diperlukan

Deskripsi

text

string

Tidak

Format log dari input teks. Contoh: text: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%".

labels

map[string]string

Tidak

Format log akses Envoy dalam format JSON. Contoh:

labels:
  status: "%RESPONSE_CODE%"
  message: "%LOCAL_REPLY_BODY%"

ProviderRef

Item konfigurasi

Tipe

Diperlukan

Deskripsi

name

string

Tidak

Nama penyedia.

ClusterRef

Item konfigurasi

Tipe

Diperlukan

Deskripsi

region

string

Tidak

Wilayah tempat kluster berada.

name

string

Tidak

Nama kluster.

id

string

Ya

ID kluster.