All Products
Search
Document Center

Container Service for Kubernetes:Konfigurasikan MseIngressConfig

Last Updated:May 21, 2026

MseIngressConfig adalah CustomResourceDefinition (CRD) yang disediakan oleh MSE Ingress Controller. CRD ini mengelola seluruh siklus hidup MSE cloud-native gateway—mulai dari pembuatan hingga penghapusan—serta mengonfigurasi opsi pendengaran Ingress dan pengaturan global tingkat gateway, seperti kontrol akses IP dan observabilitas.

Cara kerja

MSE Ingress Controller memantau resource MseIngressConfig di kluster Anda dan menjaga agar MSE cloud-native gateway terkait tetap sinkron. Kluster tersebut dapat berupa kluster managed Container Service for Kubernetes (ACK), kluster ACK Serverless, atau kluster ACS.

Setelah cloud-native gateway ditautkan ke server API kluster, lapisan kontrolnya menerima perubahan pada resource Ingress dan memperbarui aturan routing secara dinamis. Saat gateway menerima permintaan, ia mencocokkan permintaan tersebut dengan aturan routing Ingress dan meneruskan traffic ke Pod backend yang sesuai.

Komponen-komponen berikut bekerja sama dalam pengaturan ini:

  • Service: Abstraksi atas sekelompok Pod backend yang direplikasi.

  • Ingress: Menentukan aturan reverse proxy yang mengarahkan traffic HTTP atau HTTPS ke layanan berdasarkan hostname dan path URL.

  • IngressClass: Mendeklarasikan controller Ingress mana yang menangani sekumpulan resource Ingress. Kaitkan MseIngressConfig dengan bidang parameters dari IngressClass untuk menerapkan logika routing MSE pada resource Ingress tersebut.

  • MseIngressConfig: CRD yang mendefinisikan konfigurasi gateway—spesifikasi, pengaturan jaringan, kebijakan global, dan opsi observabilitas.

  • MSE Ingress Controller: Lapisan kontrol yang mengelola cloud-native gateway berdasarkan definisi MseIngressConfig. Komponen ini tidak menangani traffic bidang data jaringan secara langsung.

ingress的应用场景

Referensi MseIngressConfig

Konfigurasi lengkap

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" # Biarkan kosong untuk menggunakan proyek default.
    tracing:
      openTelemetry:
        sampleRate: "100"
  ingress:
    local:
      ingressClass: mse
      watchNamespace: "" # Biarkan kosong untuk mendengarkan semua namespace.

Parameter

Parameter Tipe Deskripsi Default
name string Nama gateway. mse-ingress
common.pay.payType string Metode penagihan. Hanya POSTPAY (pay-as-you-go) yang didukung. POSTPAY
common.instance.spec string Spesifikasi gateway. Nilai yang valid: 2c4g, 4c8g, 8c16g, 16c32g. 4c8g
common.instance.replicas integer Jumlah replika gateway. Rentang nilai yang valid: 0–30. 3
common.network.vSwitches []string vSwitch primer dan sekunder. Tentukan vSwitch primer terlebih dahulu. Menerima 1–2 entri. Jika tidak diatur, vSwitch dari node yang menjalankan Pod MSE Ingress Controller akan digunakan. Tidak ada
common.network.publicSLBSpec string Spesifikasi instans Server Load Balancer (SLB) yang menghadap Internet. Nilai yang valid: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, slb.s3.large. slb.s2.small
common.network.privateSLBSpec string Spesifikasi instans SLB internal. Nilai yang valid sama seperti publicSLBSpec. slb.s2.small
common.securityGroupType string Tipe security group. Nilai yang valid: enterprise (advanced security group), normal (basic security group). normal
global.tls.enableHardwareAcceleration boolean Mengaktifkan akselerasi perangkat keras Transport Layer Security (TLS) untuk meningkatkan kinerja pemrosesan HTTPS. true
global.ipAccessControl.whitelist []string Daftar putih alamat IP global. Hanya alamat IP sumber atau Blok CIDR dalam daftar ini yang dapat mengakses gateway. Tidak dikonfigurasi
global.ipAccessControl.blacklist []string Daftar hitam alamat IP global. Alamat IP sumber atau Blok CIDR dalam daftar ini ditolak aksesnya ke gateway. Tidak dikonfigurasi
monitor.logging.sls object Mengaktifkan Simple Log Service (SLS) untuk pengiriman log akses. Perlu memberikan izin SLS ke MSE Ingress Controller terlebih dahulu. Nonaktif
monitor.logging.sls.reuseProject string Proyek SLS tempat log akses dikirimkan. Biarkan kosong untuk menggunakan proyek default; tentukan nama proyek yang sudah ada untuk menggunakan proyek kustom. Kosong
monitor.tracing.openTelemetry object Mengaktifkan Managed Service for OpenTelemetry. Tidak dapat diaktifkan bersamaan dengan OpenTelemetry versi open source. Nonaktif
monitor.tracing.openTelemetry.sampleRate string Laju pengambilan sampel untuk Managed Service for OpenTelemetry, dalam bentuk string persentase (misalnya, "100"). "100"
monitor.tracing.xTrace.sampleRate string Laju pengambilan sampel untuk xTrace. "0"
ingress.local.ingressClass string Resource IngressClass yang didengarkan oleh gateway. Lihat nilai yang valid di bawah. Tidak dikonfigurasi (tidak ada resource Ingress yang didengarkan)
ingress.local.watchNamespace string Namespace yang resource Ingress-nya didengarkan oleh gateway. Biarkan kosong untuk mendengarkan semua namespace; tentukan satu namespace untuk membatasi cakupan. Kosong (semua namespace)

Nilai yang valid untuk `ingress.local.ingressClass`:

Nilai Efek
Tidak dikonfigurasi Tidak ada resource Ingress yang didengarkan.
mse Mendengarkan resource Ingress dengan IngressClass mse.
"" (kosong) Mendengarkan semua resource Ingress.
nginx Mendengarkan resource Ingress dengan IngressClass nginx, atau resource Ingress yang tidak memiliki IngressClass terkait.
Nilai lainnya Mendengarkan resource Ingress yang terkait dengan IngressClass yang ditentukan.
Resource IngressClass yang dikaitkan dengan MseIngressConfig melalui spec.parameters memiliki prioritas lebih tinggi daripada nilai yang diatur di ingress.local.ingressClass.

Status

Setelah membuat MseIngressConfig, periksa statusnya dengan:

kubectl get mseingressconfig

Status berubah secara berurutan: Pending → Running → Listening

Status Deskripsi
Pending Cloud-native gateway sedang dibuat. Proses ini biasanya memakan waktu sekitar 3 menit.
Running Gateway telah dibuat dan berjalan.
Listening Gateway berjalan dan mendengarkan resource Ingress di kluster.
Failed Gateway tidak valid. Periksa bidang Message di bagian Status untuk mengetahui penyebabnya.

Penerapan yang berhasil akan tampak seperti berikut:

NAME   STATUS    AGE
test   Listening 5m

Tag resource

MSE Ingress Controller secara otomatis menambahkan tag berikut ke cloud-native gateway yang dibuat atau digunakan ulang. Lihat tag ini di di bawah informasi dasar gateway.

Penting

Jangan mengedit tag ini di Konsol MSE. Mengeditnya dapat menyebabkan perilaku gateway yang tidak terduga.

Tag Deskripsi
ack.aliyun.com Mengidentifikasi bahwa traffic Ingress kluster ACK dikelola oleh MSE cloud-native gateway ini.
ingress.k8s.alibaba/MseIngressConfig Mengidentifikasi MseIngressConfig yang terkait dengan gateway.
kubernetes.reused.by.user Menunjukkan apakah gateway digunakan ulang. Jika diatur, penghapusan MseIngressConfig terkait tidak akan menghapus gateway.

Buat MSE cloud-native gateway

  1. Terapkan MseIngressConfig. Contoh berikut membuat gateway bernama mse-ingress dengan 3 replika dan 2 vCPU / 4 GB memori. Sesuaikan bidang lainnya sesuai kebutuhan.

    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: reuse
    spec:
      id: gw-xxxx
      override: false
      ingress:
        local:
          ingressClass: mse
  2. Buat resource IngressClass dan kaitkan dengan MseIngressConfig. Ini mendeklarasikan MSE Ingress Controller di kluster, sehingga resource Ingress yang ditautkan ke IngressClass ini akan ditangani oleh cloud-native gateway yang sesuai.

    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. Verifikasi status gateway:

    kubectl get mseingressconfig

    Status harus berubah dari Pending ke Running dan akhirnya ke Listening. Status Listening menegaskan bahwa gateway aktif dan memantau resource Ingress.

Gunakan ulang MSE cloud-native gateway yang sudah ada

Untuk menggunakan ulang gateway yang sudah ada, atur spec.id ke ID gateway (dalam format gw-xxx) dan konfigurasi spec.override untuk mengontrol apakah akan menimpa pengaturan gateway yang sudah ada.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: reuse
spec:
  id: gw-xxxx
  override: false
  ingress:
    local:
      ingressClass: mse
Parameter Tipe Deskripsi
spec.id string ID gateway yang sudah ada untuk digunakan ulang. Harus dalam format gw-xxx.
spec.override boolean Mengontrol apakah MseIngressConfig menimpa pengaturan gateway yang sudah ada.

Perilaku berdasarkan `spec.override`:

  • `false` (direkomendasikan untuk penggunaan ulang): Opsi pendengaran Ingress, akselerasi perangkat keras TLS, kontrol akses IP, dan pengaturan observabilitas gateway yang sudah ada dipertahankan. Jika gateway belum ditautkan ke kluster, MSE Ingress Controller secara otomatis menautkannya dan mengonfigurasi pendengaran Ingress berdasarkan spec.ingress.local.ingressClass. Jika gateway sudah ditautkan, opsi pendengaran Ingress yang sudah ada tidak diubah.

  • `true`: Opsi pendengaran Ingress, akselerasi perangkat keras TLS, kontrol akses IP global, dan pengaturan observabilitas gateway ditimpa dengan nilai dari MseIngressConfig. Jika parameter tidak ditentukan dalam MseIngressConfig, pengaturan parameter asli gateway akan ditimpa dan traffic Anda mungkin terpengaruh. Pastikan semua parameter relevan telah diatur sebelum menerapkan.

Hapus MSE cloud-native gateway

Setiap MseIngressConfig dipetakan ke satu cloud-native gateway. Dalam skenario non-penggunaan ulang, penghapusan MseIngressConfig akan menghapus gateway terkait.

kubectl delete mseingressconfig your-config-name

Perilaku penghapusan bergantung pada metode penagihan dan cara gateway dibuat:

Metode penagihan Gateway yang dibuat otomatis Gateway yang digunakan ulang
Pay-as-you-go Dihapus bersama MseIngressConfig Dipertahankan
Subscription Tidak tersedia Dipertahankan

Konfigurasikan kontrol akses IP

Bidang global.ipAccessControl menerapkan filter IP di tingkat gateway, memengaruhi seluruh traffic yang melewati gateway. Anda dapat mengonfigurasi daftar putih, daftar hitam, atau keduanya.

Konfigurasikan daftar putih alamat IP

Hanya alamat IP sumber atau Blok CIDR dalam daftar putih yang dapat mengakses gateway. Traffic lainnya ditolak.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  global:
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

Konfigurasikan daftar hitam alamat IP

Alamat IP sumber atau Blok CIDR dalam daftar hitam ditolak aksesnya. Traffic lainnya diizinkan.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  global:
    ipAccessControl:
      blacklist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

Aktifkan Simple Log Service

Simple Log Service (SLS) mengirimkan log akses gateway ke proyek SLS yang ditentukan.

Prasyarat

Berikan izin SLS ke MSE Ingress Controller sebelum mengaktifkan fitur ini:

Konfigurasikan pengiriman log

Atur monitor.logging.sls.reuseProject ke nama proyek SLS target. Biarkan kosong untuk menggunakan proyek default.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  monitor:
    logging:
      sls:
        # Biarkan kosong untuk mengirimkan log ke proyek default.
        reuseProject: "demo"

Aktifkan Managed Service for OpenTelemetry

Managed Service for OpenTelemetry mengaktifkan pelacakan end-to-end untuk permintaan yang melewati gateway, membantu Anda mendiagnosis dan menemukan masalah produksi.

Managed Service for OpenTelemetry dan OpenTelemetry versi open source tidak dapat diaktifkan secara bersamaan.

Atur monitor.tracing.openTelemetry.sampleRate ke persentase pengambilan sampel yang diinginkan. Contoh berikut mengaktifkan pelacakan dengan pengambilan sampel 100%.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  monitor:
    tracing:
      openTelemetry:
        sampleRate: "100"