全部產品
Search
文件中心

Alibaba Cloud Service Mesh:ASMMeshConfig CRD說明

更新時間:Aug 19, 2025

ASMMeshConfig是阿里雲服務網格ASM提供的自訂資源,用於全域佈建服務網格的核心參數,其功能類似Istio的MeshConfig。通過該CRD可集中管理網格層級的連線逾時、協議檢測、路徑標準化、重試策略等配置,同時支援Sidecar注入器的資源配額與行為控制。

配置樣本

以下樣本指定了網格執行個體在串連配置、路徑標準化、HTTP重試策略、Sidecar注入器策略和全域限流等方面的配置。

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
重要

要使用ASMMeshConfig CRD的完整欄位,需要服務網格執行個體版本為1.24及以上,其中rateLimitService配置需要執行個體版本為1.25.6.84版本。此外,ASMMeshConfig CR無命名空間,名稱必須為default,其他名稱的ASMMeshConfig CR不會生效。

欄位說明

基礎配置

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.connectTimeout

Duration

定義Envoy代理建立TCP串連的最大等待時間,逾時觸發upstream connect timeout錯誤。單位支援ns/ms/s/m/h

30s

網格維度出站TCP串連。

.spec.protocolDetectionTimeout

Duration

自動協議檢測的逾時時間,用於識別HTTP/HTTPS流量。逾時後按原始協議處理流量。

重要

此欄位僅在ASM 1.19及以下版本可配置。

30s

網格維度協議嗅探。

TCP保活配置

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.tcpKeepalive.probes

Uint32

發送的TCP保活探測包最大次數。設定為0時禁用保活機制。

9

出站TCP長串連。

.spec.tcpKeepalive.time

Duration

TCP串連空閑等待時間,逾時後開始發送保活探測包。

7200s

.spec.tcpKeepalive.interval

Duration

保活探測包發送間隔,需小於time參數。

75s

路徑標準化

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.pathNormalization.normalization

Enum

URI路徑處理策略:

  • NONE:禁用標準化。

  • BASE:合并斜杠並保留路徑參數(如;)。

  • MERGE_SLASHES:僅合并連續斜杠。

NONE

網格維度HTTP路由。

HTTP重試策略

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.defaultHttpRetryPolicy.attempts

Int32

全域HTTP請求最大重試次數(含初始請求),僅當VirtualService未顯式配置時生效。

2

HTTP路由策略。

.spec.defaultHttpRetryPolicy.perTryTimeout

Duration

單次重試的逾時時間,需短於VirtualService中定義的總逾時時間。

0s(無限制)

.spec.defaultHttpRetryPolicy.retryOn

String

觸發重試的條件,支援標準錯誤類型: 5xx/gateway-error/connect-failure/reset等,多值以逗號分隔。

gateway-error, connect-failure, refused-stream

監控整合

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.enablePrometheusMerge

Bool

自動合并Pod原有prometheus.io註解與ASM監控配置,避免指標重複採集。

true

Prometheus監控配置。

Sidecar注入器配置

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.sidecarInjectorWebhookConfiguration.rewriteAppHTTPProbe

Bool

自動將Pod的HTTP就緒探針重新導向到Sidecar代理連接埠。

true

Sidecar注入行為。

.spec.sidecarInjectorWebhookConfiguration.replicaCount

Int

Sidecar注入控制器的副本數,用於提升高可用性。

2

Sidecar注入器組件。

.spec.sidecarInjectorWebhookConfiguration.resources

Object

資源配額配置:

  • requests:容器啟動最小資源需求。

  • limits:容器資源使用上限。

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

Sidecar注入器組件。

全域限流配置

欄位路徑

資料類型

描述

樣本值

影響範圍

.spec.rateLimitService.enabled

Bool

是否啟用限流服務。

true

全域啟用限流服務能力。

.spec.rateLimitService.replicas

Int

限流服務的副本數。

1

限流服務可用性與效能。

.spec.rateLimitService.resources

Object

限流服務的資源配置。

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

限流服務可用性與效能。

.spec.rateLimitService.redis

Object

限流服務查詢的 Redis 配置。

說明

全域限流服務使用redis記錄限流策略以及決策。

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

限流狀態儲存後端。

.spec.rateLimitService.redis.type

String

redis 叢集類型,可選值:singleclustersentinel。預設為single

single

限流狀態儲存後端。

.spec.rateLimitService.redis.url

String

redis 地址。

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

限流狀態儲存後端。

.spec.rateLimitService.redis.auth

String

redis 認證資訊,格式為:passworduser:password。(為了安全起見,推薦您使用 AuthSecret 的形式)。

xxxxxx

憑據安全管理。

.spec.rateLimitService.redis.authSecret

String

儲存redis認證資訊的 secret 名稱。

說明

該 secret 需要部署在istio-system中,將認證資訊通過base64編碼後記錄在secret的redis-auth key中。

apiVersion: v1
data:
  redis-auth: ${base64編碼後的認證資訊}
kind: Secret
metadata:
  name: redis-secret
  namespace: istio-system
type: Opaque

憑據安全管理。

.spec.rateLimitService.redis.cacheKeyPrefix

String

Redis cache 的key首碼。預設為空白。

N/A

限流狀態儲存後端。

說明

推薦您使用阿里雲 Redis來保證高可用,您可以基於Redis執行個體的類型結合下表來對限流服務rateLimitService.redis.type進行配置。

執行個體類型

架構類型

串連模式

叢集類型配置

單節點

/

/

single

高可用

不啟用叢集

/

single

啟用叢集

直連模式

cluster

代理模式

single

ASM會匯總所有的配置並自動在istio-system 命名空間下產生一個名為ratelimit-service-config的限流服務配置。當您開啟限流服務後,該配置會自動掛載,無需手動更新限流服務配置。