ASMMeshConfig CRD说明

更新时间:2025-02-26 05:37:42

ASMMeshConfig是阿里云服务网格ASM提供的自定义资源,用于全局配置服务网格的核心参数,其功能类似IstioMeshConfig。通过该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
重要

要使用ASMMeshConfig CRD的完整字段,需要服务网格实例版本为1.24及以上。此外,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

自动将PodHTTP就绪探针重定向到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注入器组件。

  • 本页导读 (1)
  • 配置示例
  • 字段说明
  • 基础配置
  • TCP保活配置
  • 路径标准化
  • HTTP重试策略
  • 监控集成
  • Sidecar注入器配置