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

Container Service for Kubernetes:MseIngressConfig の設定

最終更新日:Mar 26, 2026

MseIngressConfig は、MSE Ingress Controller によって提供されるカスタムリソース定義 (CRD) です。MSE クラウドネイティブゲートウェイのライフサイクルを管理し、Ingress のリッスンオプションとグローバルなゲートウェイ設定を制御します。このトピックでは、MseIngressConfig を使用して MSE クラウドネイティブゲートウェイを作成、再利用、削除する方法、およびグローバルな IP アクセス制御、Simple Log Service、OpenTelemetry 向けマネージドサービスを設定する方法について説明します。

仕組み

MSE Ingress Controller は、クラスター内の MseIngressConfig リソースを監視し、対応するクラウドネイティブゲートウェイのライフサイクルとクラスターとの関連付けを動的に維持します。サポートされているクラスタータイプ:Container Service for Kubernetes (ACK) マネージドクラスター、ACK サーバーレスクラスター、および ACS クラスター。

クラウドネイティブゲートウェイがクラスターの API サーバーに関連付けられると、MSE クラウドネイティブゲートウェイのコントロールプレーンが Ingress リソースの変更を検出し、それに応じてルーティングルールを更新します。リクエストが到着すると、ゲートウェイはそれを Ingress のルーティングルールと照合し、バックエンドサービスを実行している Pod にルーティングします。

以下のリソースは、Kubernetes クラスター内で連携して動作します。

  • Service:バックエンドサービスの抽象化であり、複製されたバックエンドサービスインスタンスのグループを表します。

  • Ingress:ホスト名と URL に基づいて HTTP または HTTPS リクエストをサービスにルーティングするリバースプロキシのルールを含みます。

  • IngressClass:どの Ingress コントローラーの実装が一連の Ingress リソースを処理するかを宣言します。MseIngressConfig を IngressClass の parameters フィールドに関連付けて、一致する Ingress リソースで定義されたトラフィック管理ルールを適用します。

  • MseIngressConfig:MSE クラウドネイティブゲートウェイの設定を提供する CRD です。

  • MSE Ingress Controller:MSE クラウドネイティブゲートウェイとその設定を管理するコントロールプレーンです。ネットワークのデータプレーンではありません。

次の図は、MSE Ingress Controller の仕組みを示しています。ingress的应用场景

基本概念

1 つの MseIngressConfig は 1 つの MSE クラウドネイティブゲートウェイに対応します。複数のゲートウェイを使用するには、ゲートウェイごとに 1 つの MseIngressConfig を作成します。

すべての MseIngressConfig リソースの apiVersion と kind は次のとおりです。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig

リソースタグ

MseIngressConfig を介して作成または再利用された MSE クラウドネイティブゲートウェイには、自動的にタグが付けられます。タグは、MSE コンソールのゲートウェイの基本情報セクションで確認できます。

重要

MSE コンソールでこれらのタグを編集しないでください。変更すると、ゲートウェイに影響が及ぶ可能性があります。

タグ説明
ack.aliyun.comこのゲートウェイが Ingress トラフィックを管理する ACK クラスターを識別します
ingress.k8s.alibaba/MseIngressConfigこのゲートウェイに関連付けられている MseIngressConfig を識別します
kubernetes.reused.by.userゲートウェイが再利用されたことを示します。関連付けられた MseIngressConfig が削除されても、ゲートウェイは削除されません

ゲートウェイのステータス

MseIngressConfig を作成した後、次のコマンドでゲートウェイのステータスを確認します。

kubectl get mseingressconfig

ステータスの遷移:Pending → Running → Listening

ステータス意味
Pendingゲートウェイを作成中です (約 3 分かかります)
Runningゲートウェイが作成され、実行中です
Listeningゲートウェイは実行中で、クラスター内の Ingress リソースをリッスンしています
Failedゲートウェイは無効です。StatusMessage フィールドを確認して原因を特定してください

パラメーターリファレンス

以下は、サポートされているすべてのパラメーターを含む完全な MseIngressConfig の例です。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  common:
    pay:
      payType: POSTPAY
    instance:
      spec: 4c8g
      replicas: 3
    network:
      vSwitches:
      - "vsw-1"
      - "vsw-2"
      publicSLBSpec: slb.s2.small
    securityGroupType: normal
  global:
    tls:
      enableHardwareAcceleration: true
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.2.XX.XX
  monitor:
    logging:
      sls:
        reuseProject: "xxx" # デフォルトのプロジェクトを使用する場合は空のままにします
    tracing:
      xTrace:
        sampleRate: "100"
  ingress:
    local:
      ingressClass: mse
      watchNamespace: "" # すべての名前空間をリッスンする場合は空のままにします
monitor.tracing.xTracemonitor.tracing.openTelemetry は同時に有効にできません。MseIngressConfig ごとに 1 つのトレースバックエンドのみを設定してください。
パラメータータイプ説明必須デフォルト
name文字列ゲートウェイの名前いいえmse-ingress
common.pay.payType文字列POSTPAY課金方法。`POSTPAY` (従量課金) のみがサポートされていますいいえPOSTPAY
common.instance.spec文字列ゲートウェイの仕様。有効な値:2c4g4c8g8c16g16c32gいいえ4c8g
common.instance.replicas整数ゲートウェイのレプリカ数。有効な値:0~30いいえ3
common.network.vSwitches文字列配列プライマリおよびセカンダリの vSwitch。プライマリ vSwitch を最初に指定します。少なくとも 1 つ、最大 2 つの vSwitch が必要です。指定しない場合、MSE Ingress Controller の Pod が実行されているノードの vSwitch が使用されますいいえなし
common.network.publicSLBSpec文字列パブリック Server Load Balancer (SLB) インスタンスの仕様。有効な値:slb.s1.smallslb.s2.smallslb.s2.mediumslb.s3.smallslb.s3.mediumslb.s3.largeいいえslb.s2.small
common.network.privateSLBSpec文字列イントラネット SLB インスタンスの仕様。有効な値:slb.s1.smallslb.s2.smallslb.s2.mediumslb.s3.smallslb.s3.mediumslb.s3.largeいいえslb.s2.small
common.securityGroupType文字列セキュリティグループのタイプ。有効な値:enterprise (高度セキュリティグループ)、normal (基本セキュリティグループ)いいえnormal
global.tls.enableHardwareAccelerationブール値Transport Layer Security (TLS) ハードウェアアクセラレーションを有効にして HTTPS トラフィック処理性能を向上させるかどうかを指定しますいいえtrue
global.ipAccessControl.whitelist文字列配列グローバル IP アドレスホワイトリスト。リスト内のソース IP のみがゲートウェイにアクセスできますいいえ未設定
global.ipAccessControl.blacklist文字列配列グローバル IP アドレスブラックリスト。リスト内のソース IP はゲートウェイへのアクセスを拒否されますいいえ未設定
monitor.logging.slsオブジェクトアクセスログ配信のために Simple Log Service を有効化します。有効にする前に、MSE Ingress Controller に Simple Log Service の権限を付与してくださいいいえ無効
monitor.logging.sls.reuseProject文字列アクセスログ配信用の Simple Log Service プロジェクト。デフォルトのプロジェクトを使用する場合は空のままにし、既存のプロジェクトを使用する場合はその名前を指定しますいいえ空 (デフォルトのプロジェクト)
monitor.tracing.xTraceオブジェクトxTrace トレース分析を有効にします。monitor.tracing.openTelemetryいいえ無効
monitor.tracing.xTrace.sampleRate文字列xTrace のサンプリングレート。例:100% の場合は "100"いいえ"0"
monitor.tracing.openTelemetryオブジェクトOpenTelemetry トレース分析を有効にします。次のコードと共に有効にすることはできません: monitor.tracing.xTraceいいえ無効
monitor.tracing.openTelemetry.sampleRate整数OpenTelemetry のサンプリングレート (パーセンテージ)いいえ100
ingress.local.ingressClass文字列ゲートウェイがリッスンする Ingress リソースに関連付けられた IngressClass。有効な値:未設定 (Ingress リソースをリッスンしない)、mse (IngressClass が mse の Ingress リソース)、"" (すべての Ingress リソース)、nginx (IngressClass が nginx または IngressClass がない Ingress リソース)、またはその他の IngressClass 名。spec.parameters を介して MseIngressConfig にリンクされた IngressClass は、このフィールドよりも優先されますいいえ未設定
ingress.local.watchNamespace文字列ゲートウェイがリッスンする Ingress リソースの名前空間。すべての名前空間をリッスンする場合は空のままにし、特定の名前に限定する場合はその名前空間を指定しますいいえ空 (すべての名前空間)

MSE クラウドネイティブゲートウェイの作成

  1. MseIngressConfig を適用します。次の例では、3 つのレプリカと 2 vCPU、4 GB メモリ仕様の mse-ingress という名前のゲートウェイを作成します。

    # シナリオ:最小限の設定で新しいゲートウェイを作成する
    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: test
    spec:
      name: mse-ingress
      common:
        instance:
          spec: 2c4g
          replicas: 3
  2. IngressClass リソースを作成し、spec.parameters を介して MseIngressConfig に関連付けます。これにより、MSE Ingress Controller がその IngressClass の実装として宣言され、ゲートウェイはそれに関連付けられたすべての Ingress リソースを処理します。

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: mse
    spec:
      controller: mse.alibabacloud.com/ingress
      parameters:
        apiGroup: mse.alibabacloud.com
        kind: MseIngressConfig
        name: test
  3. ゲートウェイのステータスを確認します。

    kubectl get mseingressconfig

    ステータスが Listening になると、ゲートウェイは準備完了です。

既存の MSE クラウドネイティブゲートウェイの再利用

既存の MSE クラウドネイティブゲートウェイを再利用するには、spec.id をゲートウェイの ID (フォーマットは gw-xxx) に設定し、spec.override を使用して MseIngressConfig がゲートウェイの既存の設定を上書きするかどうかを制御します。

パラメータータイプ説明
spec.id文字列再利用する MSE クラウドネイティブゲートウェイの ID。gw-
spec.overrideブール値MseIngressConfig がゲートウェイの既存の Ingress リッスンオプション、TLS ハードウェアアクセラレーション、IP アクセス制御、および可観測性の設定を上書きするかどうかを指定します

`spec.override` の動作:

  • `false` — 既存のゲートウェイ設定は上書きされません。ゲートウェイがまだ ACK クラスターに関連付けられていない場合、システムは自動的にそれを関連付け、spec.ingress.local.ingressClass に基づいて Ingress リッスンを設定します。ゲートウェイが既に関連付けられている場合、元の Ingress リッスンオプションは保持されます。

  • `true` — ゲートウェイ設定は MseIngressConfig の値で上書きされます。MseIngressConfig でパラメーターが指定されていない場合、ゲートウェイの元のパラメーター設定が上書きされ、トラフィックに悪影響が及ぶ可能性があります。トラフィックの中断を避けるために、override: true を適用する前に、関連するすべてのパラメーターが明示的に設定されていることを確認してください。

次の例では、既存のゲートウェイ (ID: gw-xxxx) を再利用し、他の設定を上書きせずに IngressClass が mse の Ingress リソースをリッスンするように設定します。

# シナリオ:既存のゲートウェイをその設定を上書きせずに再利用する
apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: reuse
spec:
  id: gw-xxxx
  override: false
  ingress:
    local:
      ingressClass: mse
重要

override: true を設定すると、ゲートウェイの Ingress リッスンオプション、TLS ハードウェアアクセラレーション、IP アクセス制御、および可観測性の設定が上書きされます。これらのパラメーターのいずれかが MseIngressConfig に存在しない場合、ゲートウェイの元のパラメーター設定が上書きされ、トラフィックに悪影響が及ぶ可能性があります。適用する前に、必要なすべてのパラメーターが設定されていることを確認してください。

MSE クラウドネイティブゲートウェイの削除

削除の動作は、ゲートウェイが MSE Ingress Controller によって作成されたか、コンソールから再利用されたかによって異なります。

課金方法MSE Ingress Controller による自動作成コンソールからの再利用
従量課金MseIngressConfig を削除すると、ゲートウェイも削除されますMseIngressConfig を削除しても、ゲートウェイは保持されます
サブスクリプションN/AMseIngressConfig を削除しても、ゲートウェイは保持されます

MseIngressConfig を削除するには:

kubectl delete mseingressconfig <your-config-name>

IP アドレスアクセス制御の設定

IP アドレスホワイトリストの設定

global.ipAccessControl.whitelist を設定して、特定のソース IP アドレスまたは CIDR ブロックのみがゲートウェイにアクセスできるようにします。次の例では、1.1.XX.XX と CIDR ブロック 2.0.XX.XX/8 からのアクセスのみを許可します。

# シナリオ:特定の IP アドレスへのゲートウェイアクセスを制限する
apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  global:
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

IP アドレスブラックリストの設定

global.ipAccessControl.blacklist を設定して、特定のソース IP アドレスまたは CIDR ブロックからのアクセスを拒否します。次の例では、1.1.XX.XX と CIDR ブロック 2.0.XX.XX/8 からのアクセスをブロックします。

# シナリオ:特定の IP アドレスからのゲートウェイアクセスをブロックする
apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  global:
    ipAccessControl:
      blacklist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

Simple Log Service の有効化

Simple Log Service を有効にする前に、MSE Ingress Controller に Simple Log Service の権限を付与してください。

  • ACK マネージドクラスターまたは ACK 専用クラスター:詳細については、「MSE Ingress Controller への権限付与」の「ACK 専用クラスターで MSE Ingress Controller に権限を付与する」セクションをご参照ください。

  • ACK サーバーレスクラスター:詳細については、「MSE Ingress Controller への権限付与」の「ACK サーバーレスクラスターで MSE Ingress Controller に権限を付与する」セクションをご参照ください。

  • ACS クラスター:詳細については、「MSE Ingress Controller への権限付与」の「ACS クラスターで MSE Ingress Controller に権限を付与する」セクションをご参照ください。

次の例では、demo という名前の既存の Simple Log Service プロジェクトにアクセスログを配信します。代わりにデフォルトのプロジェクトを使用するには、reuseProject を空のままにします。

# シナリオ:Simple Log Service プロジェクトにアクセスログを配信する
apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  monitor:
    logging:
      sls:
        reuseProject: "demo" # デフォルトのプロジェクトを使用する場合は空のままにします
Simple Log Service を有効にするには、reuseProject フィールドが存在する必要があります。デフォルトのプロジェクトを使用する場合は空のままにするか、既存のプロジェクト名を指定します。

OpenTelemetry 向けマネージドサービスの有効化

ゲートウェイで OpenTelemetry 向けマネージドサービスを設定すると、エンドツーエンドのトレースとモニタリングが可能になり、本番環境の問題の診断と特定に役立ちます。

次の例では、100% のサンプリングレートで OpenTelemetry トレースを有効にします。

# シナリオ:完全なサンプリングで OpenTelemetry トレースを有効にする
apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  monitor:
    tracing:
      xTrace:
        sampleRate: "100"
xTrace と OpenTelemetry は同時に有効にできません。MseIngressConfig ごとに 1 つのトレースバックエンドのみを設定してください。