全部產品
Search
文件中心

Alibaba Cloud Service Mesh:ASMMeshConfig CRD說明

更新時間:Mar 18, 2026

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
  accessLogConfiguration:
    logEncoding: JSON
    logProject: test-project
    sidecarEnabled: true
重要

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

欄位說明

Spec(網格配置)

欄位路徑

資料類型

描述

樣本值

tcpKeepalive

TcpKeepalive

日誌投遞的阿里雲 SLS 日誌 project 名稱。

30s

connectTimeout

Duration

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

30s

protocolDetectionTimeout

Duration

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

重要

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

pathNormalization

PathNormalization

路徑標準化。

defaultHttpRetryPolicy

DefaultHttpRetryPolicy

Sidecar 預設 HTTP 重試策略。

enablePrometheusMerge

Bool

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

true

sidecarInjectorWebhookConfiguration

SidecarInjectorWebhookConfiguration

Sidecar 注入配置。

accessLogExtraConf

AccessLogExtraConf

訪問日誌格式與採集配置。

ratelimitService

RatelimitService

全域限流服務配置。

重要

此欄位僅在 ASM 1.25 及以上版本可配置。

TcpKeepalive(TCP保活配置)

欄位路徑

資料類型

描述

樣本值

影響範圍

probes

Uint32

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

9

出站TCP長串連。

time

Duration

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

7200s

interval

Duration

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

75s

PathNormalization(路徑標準化)

欄位路徑

資料類型

描述

樣本值

影響範圍

normalization

Enum

URI路徑處理策略:

  • NONE:禁用標準化。

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

  • MERGE_SLASHES:僅合并連續斜杠。

NONE

網格維度HTTP路由。

DefaultHttpRetryPolicy(HTTP重試策略)

欄位路徑

資料類型

描述

樣本值

影響範圍

attempts

Int32

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

2

HTTP路由策略。

perTryTimeout

Duration

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

0s(無限制)

retryOn

String

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

gateway-error, connect-failure, refused-stream

SidecarInjectorWebhookConfiguration(Sidecar注入器配置)

欄位路徑

資料類型

描述

樣本值

影響範圍

rewriteAppHTTPProbe

Bool

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

true

Sidecar注入行為。

replicaCount

Int

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

2

Sidecar注入器組件。

resources

Object

資源配額配置:

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

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

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

Sidecar注入器組件。

AccessLogExtraConf(訪問日誌配置)

欄位路徑

資料類型

描述

樣本值

logEncoding

String

日誌輸出格式。可選值為 JSON,TEXT。

JSON

logProject

String

日誌投遞的阿里雲 SLS 日誌 project 名稱。

重要

此欄位僅在 ASM 1.25 及以上版本可配置。

log-project-test

gatewayEnabled

Boolean

是否將網關的訪問日誌採集至阿里雲 SLS。

true

sidecarEnabled

Boolean

是否將 Sidecar 的訪問日誌採集至阿里雲 SLS。

true

ztunnelEnabled

Boolean

是否將 Ztunnel 的訪問日誌採集至阿里雲 SLS。

重要

此欄位僅在 ASM 1.25 及以上版本可配置。

true

gatewayLifecycle

Integer

網關訪問日誌的保留時間,預設為 90 天。

30

sidecarLifecycle

Integer

Sidecar 訪問日誌的保留時間,預設為 90 天。

30

ztunnelLifecycle

Integer

Ztunnel 訪問日誌的保留時間,預設為 90 天。

重要

此欄位僅在 ASM 1.25 及以上版本可配置。

30

RatelimitService(全域限流配置)

欄位路徑

資料類型

描述

樣本值

影響範圍

enabled

Bool

是否啟用限流服務。

true

全域啟用限流服務能力。

replicas

Int

限流服務的副本數。

1

限流服務可用性與效能。

resources

Object

限流服務的資源配置。

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

限流服務可用性與效能。

redis

Object

限流服務查詢的 Redis 配置。

說明

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

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

限流狀態儲存後端。

redis.type

String

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

single

限流狀態儲存後端。

redis.url

String

redis 地址。

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

限流狀態儲存後端。

redis.auth

String

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

xxxxxx

憑據安全管理。

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

憑據安全管理。

redis.cacheKeyPrefix

String

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

N/A

限流狀態儲存後端。

說明

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

執行個體類型

架構類型

串連模式

叢集類型配置

單節點

/

/

single

高可用

不啟用叢集

/

single

啟用叢集

直連模式

cluster

代理模式

single

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