すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:ASMMeshConfig CRD リファレンス

最終更新日:Nov 06, 2025

ASMMeshConfig は、Alibaba Cloud Service Mesh (ASM) が提供するカスタムリソースで、サービスメッシュのコアパラメーターをグローバルに構成するために使用されます。その機能は Istio の MeshConfig に似ています。このカスタムリソース定義 (CRD) を使用して、接続タイムアウト、プロトコル検出、パスの正規化、リトライポリシーなどのメッシュレベルの設定を一元管理できます。また、サイドカーインジェクターのリソースクォータと動作を制御するためにも使用できます。

構成例

次の例は、ASM インスタンスを構成する方法を示しています。この構成には、接続設定、パスの正規化、HTTP リトライポリシー、サイドカーインジェクターポリシー、およびグローバルレート制限が含まれます。

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 のすべてのフィールドを使用するには、Service Mesh インスタンスのバージョンが 1.24 以降である必要があります。rateLimitService を構成するには、インスタンスのバージョンが 1.25.6.84 以降である必要があります。さらに、ASMMeshConfig CR は名前空間に属さず、その名前は `default` である必要があります。他の名前を持つ ASMMeshConfig CR は有効になりません。

フィールドリファレンス

基本構成

フィールドパス

データ型

説明

スコープ

.spec.connectTimeout

Duration

Envoy プロキシが TCP 接続を確立するのを待つ最大時間。接続がタイムアウトすると、upstream connect timeout エラーがトリガーされます。サポートされている単位は nsmssm、および 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

1 回のリトライのタイムアウト。この値は、VirtualService で定義された合計タイムアウトよりも短くする必要があります。

0s (無制限)

.spec.defaultHttpRetryPolicy.retryOn

String

リトライをトリガーする条件。 5xxgateway-errorconnect-failurereset などの標準的なエラータイプがサポートされています。複数の値はカンマで区切ります。

gateway-errorconnect-failurerefused-stream

モニタリング統合

フィールドパス

データ型

説明

スコープ

.spec.enablePrometheusMerge

Bool

Pod の元の prometheus.io アノテーションを ASM モニタリング構成と自動的にマージして、メトリックの重複収集を回避します。

true

Prometheus モニタリング構成。

サイドカーインジェクター構成

フィールドパス

データ型

説明

スコープ

.spec.sidecarInjectorWebhookConfiguration.rewriteAppHTTPProbe

Bool

Pod の HTTP readiness プローブをサイドカープロキシポートに自動的にリダイレクトします。

true

サイドカーインジェクションの動作。

.spec.sidecarInjectorWebhookConfiguration.replicaCount

Int

サイドカーインジェクションコントローラーのレプリカ数。レプリカ数を増やすと、高可用性が向上します。

2

サイドカーインジェクターコンポーネント。

.spec.sidecarInjectorWebhookConfiguration.resources

Object

リソースクォータ構成。

  • requests: コンテナーの起動に必要な最小リソース。

  • limits: コンテナーが使用できる最大リソース。

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

サイドカーインジェクターコンポーネント。

グローバルレート制限構成

フィールドパス

データ型

説明

スコープ

.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 認証情報。フォーマットは password または user:password です。セキュリティのため、`authSecret` を使用してください。

xxxxxx

認証情報セキュリティ管理。

.spec.rateLimitService.redis.authSecret

String

Redis 認証情報を格納するシークレットの名前。

説明

このシークレットは istio-system 名前空間にデプロイする必要があります。認証情報は Base64 でエンコードし、シークレットの redis-auth キーに格納する必要があります。

apiVersion: v1
data:
  redis-auth: ${Base64でエンコードされた認証情報}
kind: Secret
metadata:
  name: redis-secret
  namespace: istio-system
type: Opaque

認証情報セキュリティ管理。

.spec.rateLimitService.redis.cacheKeyPrefix

String

Redis キャッシュキーのプレフィックス。デフォルト値は空です。

N/A

レート制限状態ストレージバックエンド。

説明

高可用性を確保するために、Alibaba Cloud ApsaraDB for Redis を使用してください。次の表を参照して、Redis インスタンスタイプに基づいてレート制限サービスの rateLimitService.redis.type を構成します。

インスタンスタイプ

アーキテクチャ

接続モード

クラスタータイプ構成

シングルノード

/

/

single

高可用性

クラスター無効

/

single

クラスター有効

直接接続モード

cluster

プロキシモード

single

ASM はすべての構成を集約し、`istio-system` 名前空間に ratelimit-service-config という名前のレート制限サービス構成を自動的に生成します。レート制限サービスを有効にすると、この構成は自動的にマウントされます。手動で更新する必要はありません。