All Products
Search
Document Center

Alibaba Cloud Service Mesh:ASMMeshConfig CRD

Last Updated:Mar 18, 2026

ASMMeshConfig adalah Custom Resource (CR) yang disediakan oleh Alibaba Cloud Service Mesh (ASM) untuk menentukan pengaturan tingkat mesh. Fungsinya mirip dengan MeshConfig milik Istio, memungkinkan Anda mengelola parameter secara terpusat seperti timeout koneksi, deteksi protokol, normalisasi path, kebijakan retry, perilaku injector sidecar, serta konfigurasi log akses.

Contoh konfigurasi

Contoh berikut menunjukkan konfigurasi untuk pengaturan koneksi, normalisasi path, kebijakan retry HTTP default, injector sidecar, pencatatan log akses, dan pembatasan laju global.

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMMeshConfig
metadata:
  name: default
spec:
  connectTimeout: 30s
  tcpKeepalive:
    probes: 5
    time: 7200s
    interval: 72s
  pathNormalization:
    normalization: MERGE_SLASHES
  defaultHttpRetryPolicy:
    attempts: 3
    perTryTimeout: 1s
    retryOn: gateway-error,connect-failure,refused-stream
  enablePrometheusMerge: true
  sidecarInjectorWebhookConfiguration:
    rewriteAppHTTPProbe: true
    replicaCount: 2
    resources:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: '2'
        memory: 2Gi
  rateLimitService:
    enabled: true
    redis:
      authSecret: redis-secret
      url: redis.istio-system.svc:6379
    replicas: 1
  accessLogConfiguration:
    logEncoding: JSON
    logProject: test-project
    sidecarEnabled: true
Penting

Untuk menggunakan semua field pada CRD ASMMeshConfig, versi instans Service Mesh Anda harus 1.24 atau lebih baru. Secara khusus, konfigurasi rateLimitService memerlukan versi instans 1.25.6.84. Selain itu, CR ASMMeshConfig tidak memiliki namespace dan namanya harus default. CR ASMMeshConfig dengan nama lain tidak akan berlaku.

Bidang

spec

Field path

Type

Description

Value

tcpKeepalive

TcpKeepalive

Mengonfigurasi pengaturan TCP keepalive untuk koneksi keluar.

N/A

connectTimeout

Duration

Menentukan waktu tunggu maksimum bagi proxy Envoy untuk membuat koneksi TCP. Timeout akan memicu error upstream connect timeout. Satuan yang didukung adalah ns/ms/s/m/h.

30s

protocolDetectionTimeout

Duration

Timeout untuk deteksi protokol otomatis, yang mengidentifikasi traffic HTTP/HTTPS. Setelah timeout, traffic diperlakukan sebagai TCP mentah.

Penting

Hanya tersedia di versi ASM 1.19 dan sebelumnya.

pathNormalization

PathNormalization

Mengonfigurasi normalisasi path untuk permintaan HTTP.

defaultHttpRetryPolicy

DefaultHttpRetryPolicy

Menentukan kebijakan retry HTTP default untuk sidecar.

enablePrometheusMerge

Bool

Otomatis menggabungkan anotasi prometheus.io asli Pod dengan konfigurasi pemantauan ASM untuk mencegah duplikasi pengumpulan metrik.

true

sidecarInjectorWebhookConfiguration

SidecarInjectorWebhookConfiguration

Mengonfigurasi injector sidecar.

accessLogConfiguration

AccessLogConfiguration

Mengonfigurasi format dan pengumpulan log akses.

rateLimitService

RatelimitService

Mengonfigurasi layanan pembatasan laju global.

Penting

Hanya tersedia di versi ASM 1.25 dan lebih baru.

TCP keepalive

Field path

Type

Description

Value

Scope

probes

Uint32

Jumlah maksimum probe TCP keepalive yang dikirim. Nilai 0 menonaktifkan mekanisme keepalive.

9

Koneksi Persisten TCP Keluar.

time

Duration

Waktu idle sebelum probe keepalive pertama dikirim.

7200s

interval

Duration

Interval pengiriman probe keep-alive harus lebih kecil dari parameter time.

75s

Normalisasi path

Field path

Type

Description

Value

Scope

normalization

Enum

Menentukan kebijakan pemrosesan path URI:

  • NONE: Menonaktifkan normalisasi path.

  • BASE: Menggabungkan slash dan mempertahankan parameter path (seperti ;).

  • MERGE_SLASHES: Hanya menggabungkan slash berurutan.

NONE

Perutean HTTP tingkat mesh.

Kebijakan retry HTTP default

Field path

Type

Description

Value

Scope

attempts

Int32

Jumlah maksimum percobaan, termasuk permintaan awal. Pengaturan ini hanya berlaku jika VirtualService tidak menentukan kebijakan retry.

2

Kebijakan perutean HTTP.

perTryTimeout

Duration

Timeout untuk setiap percobaan individual. Harus lebih pendek dari timeout keseluruhan yang ditentukan dalam VirtualService.

0s (tanpa batas)

retryOn

String

Kondisi yang memicu retry mendukung tipe error standar seperti 5xx/gateway-error/connect-failure/reset. Beberapa nilai dipisahkan dengan koma.

gateway-error, connect-failure, refused-stream

Injector sidecar

Field path

Type

Description

Value

Scope

rewriteAppHTTPProbe

Bool

Jika true, mengarahkan ulang probe kesiapan HTTP Pod ke port proxy sidecar, memastikan probe melewati mesh.

true

Perilaku injeksi sidecar.

replicaCount

Int

Jumlah replika controller injector sidecar. Tingkatkan nilai ini untuk Ketersediaan tinggi di kluster produksi.

2

Komponen injector sidecar.

resources

Object

Permintaan dan batas sumber daya untuk kontainer injector sidecar:

  • requests: Sumber daya minimum yang dibutuhkan untuk menjalankan kontainer.

  • limits: Sumber daya maksimum yang dapat digunakan kontainer.

...
    resources:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: '2'
        memory: 2Gi

Komponen injector sidecar.

Log akses

Field path

Type

Description

Value

logEncoding

String

Format output untuk log. Nilai yang valid: JSON, TEXT.

JSON

logProject

String

Nama proyek Alibaba Cloud Log Service (SLS) yang menerima log.

Penting

Hanya tersedia di versi ASM 1.25 dan lebih baru.

log-project-test

gatewayEnabled

Boolean

Mengaktifkan pengumpulan log akses dari gerbang ke Alibaba Cloud Log Service (SLS).

true

sidecarEnabled

Boolean

Mengaktifkan pengumpulan log akses dari sidecar ke Alibaba Cloud Log Service (SLS).

true

ztunnelEnabled

Boolean

Mengaktifkan pengumpulan log akses dari Ztunnel ke Alibaba Cloud Log Service (SLS).

Penting

Hanya tersedia di versi ASM 1.25 dan lebih baru.

true

gatewayLifecycle

Integer

Periode retensi dalam hari untuk log akses gerbang. Nilai default adalah 90.

30

sidecarLifecycle

Integer

Periode retensi dalam hari untuk log akses sidecar. Nilai default adalah 90.

30

ztunnelLifecycle

Integer

Periode retensi dalam hari untuk log akses Ztunnel. Nilai default adalah 90.

Penting

Hanya tersedia di versi ASM 1.25 dan lebih baru.

30

Pembatasan laju global

Field path

Type

Description

Value

Scope

enabled

Bool

Jika true, mengaktifkan layanan pembatasan laju global.

true

Kemampuan pembatasan laju global.

replicas

Int

Jumlah replika untuk layanan pembatasan laju.

1

Ketersediaan dan performa layanan pembatasan laju.

resources

Object

Konfigurasi sumber daya untuk layanan pembatasan laju.

limits:
  cpu: 500m
  memory: 512Mi
requests:
  cpu: 100m
  memory: 128Mi

Ketersediaan dan performa layanan pembatasan laju.

redis

Object

Konfigurasi untuk instans Redis yang digunakan oleh layanan pembatasan laju.

Catatan

Layanan pembatasan laju global menggunakan Redis untuk menyimpan kebijakan dan keputusan.

    redis:
      authSecret: redis-secret
      url: redis.istio-system.svc:6379

Backend status pembatasan laju.

redis.type

String

Tipe kluster Redis. Nilai yang valid adalah single, cluster, dan sentinel. Nilai default adalah single.

single

Status backend pembatasan laju.

redis.url

String

Alamat koneksi Redis.

redis.istio-system.svc.cluster.local:6379

Backend status pembatasan laju.

redis.auth

String

Kredensial autentikasi Redis, dalam format: password atau user:password. (Untuk keamanan, kami merekomendasikan Anda menggunakan AuthSecret.)

xxxxxx

Manajemen kredensial.

redis.authSecret

String

Nama Kubernetes Secret yang menyimpan informasi autentikasi Redis.

Catatan

Secret ini harus dideploy di namespace istio-system dan berisi kunci redis-auth dengan informasi autentikasi yang dienkripsi Base64.

apiVersion: v1
data:
  redis-auth: ${Base64-encoded-credentials}
kind: Secret
metadata:
  name: redis-secret
  namespace: istio-system
type: Opaque

Manajemen kredensial.

redis.cacheKeyPrefix

String

Awalan untuk semua kunci cache Redis. Nilai default kosong.

N/A

Backend status pembatasan laju.

Catatan

Kami merekomendasikan Anda menggunakan Alibaba Cloud Redis untuk memastikan ketersediaan tinggi. Anda dapat mengonfigurasi rateLimitService.redis.type berdasarkan tipe instans Redis Anda dengan merujuk pada tabel berikut.

Tipe instans

Arsitektur

Mode koneksi

redis.type

Single-node

--

--

single

Ketersediaan tinggi

Cluster dinonaktifkan

--

single

Cluster diaktifkan

Koneksi langsung

cluster

Mode proxy

single

ASM menggabungkan semua konfigurasi dan secara otomatis menghasilkan konfigurasi layanan pembatasan laju bernama ratelimit-service-config di namespace istio-system. Saat Anda mengaktifkan layanan pembatasan laju, konfigurasi ini akan dipasang secara otomatis. Anda tidak perlu memperbarui konfigurasi layanan pembatasan laju secara manual.