All Products
Search
Document Center

Container Service for Kubernetes:Konfigurasikan MseIngressConfig

Last Updated:Aug 29, 2026

MseIngressConfig adalah Definisi Sumber Daya Kustom (CRD) yang disediakan oleh Microservices Engine (MSE) Ingress Controller untuk membuat, menggunakan kembali, dan menghapus gateway cloud-native MSE serta mengonfigurasi opsi pendengaran Ingress dan pengaturan global seperti kontrol akses IP, akselerasi perangkat keras TLS, pencatatan akses, dan pelacakan terdistribusi.

Cara kerja

MSE Ingress Controller memantau sumber daya MseIngressConfig di kluster Anda dan secara dinamis mengelola siklus hidup gateway cloud-native yang sesuai serta asosiasinya dengan kluster ACK yang dikelola, ACK Serverless, dan ACS. Setelah gateway diasosiasikan dengan server API kluster ACK yang dikelola, ACK Serverless, atau ACS, lapisan kontrolnya menyinkronkan perubahan sumber daya Ingress dan memperbarui aturan routing secara real time. Saat menerima permintaan, gateway mencocokkan permintaan tersebut dengan aturan routing Ingress dan meneruskan traffic ke Pod backend yang sesuai.

Diagram berikut menunjukkan hubungan antar komponen.

ingress的应用场景

Komponen utama meliputi:

  • Service: Abstraksi dari layanan backend. Service merepresentasikan sekelompok Pod yang direplikasi.

  • Ingress: Berisi aturan reverse proxy yang mengarahkan permintaan HTTP atau HTTPS ke layanan berdasarkan hostname dan path.

  • IngressClass: Mendeklarasikan implementasi Ingress controller mana yang menangani sekumpulan sumber daya Ingress. Asosiasikan IngressClass dengan MseIngressConfig untuk mengaktifkan gateway cloud-native MSE bagi sumber daya Ingress tersebut.

  • MseIngressConfig: CRD yang menyediakan konfigurasi gateway—spesifikasi instans, pengaturan jaringan, kebijakan global, dan cakupan pendengaran Ingress.

  • MSE Ingress Controller: Lapisan kontrol yang mengelola instans gateway cloud-native MSE dan konfigurasinya. Ini bukan bidang data jaringan. Ia memantau sumber daya MseIngressConfig di kluster dan mengoordinasikan instans gateway cloud-native MSE untuk menerapkan aturan manajemen traffic yang dijelaskan oleh sumber daya Ingress.

Satu MseIngressConfig dipetakan tepat ke satu gateway cloud-native MSE. Untuk menjalankan beberapa gateway, buat beberapa MseIngressConfig.

Referensi MseIngressConfig

Contoh 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

Deskripsi

Wajib

Default

name

Nama gateway

Tidak

mse-ingress

common.pay.payType

Metode penagihan. Hanya POSTPAY (pay-as-you-go) yang didukung.

Tidak

POSTPAY

common.instance.spec

Ukuran instans gateway. Nilai valid: 2c4g, 4c8g, 8c16g, 16c32g

Tidak

4c8g

common.instance.replicas

Jumlah replika gateway. Nilai valid: 0–30

Tidak

3

common.network.vSwitches

vSwitch primer dan sekunder. Tentukan minimal satu dan maksimal dua. Jika tidak diatur, vSwitch pada node tempat Pod MSE Ingress Controller berjalan akan digunakan.

Tidak

Tidak ada

common.network.publicSLBSpec

Spesifikasi untuk instans Server Load Balancer (SLB) yang menghadap Internet. Nilai valid: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, slb.s3.large

Tidak

slb.s2.small

common.network.privateSLBSpec

Spesifikasi untuk instans SLB internal. Nilai valid sama seperti publicSLBSpec.

Tidak

slb.s2.small

common.securityGroupType

Jenis grup keamanan. Nilai valid: enterprise (advanced), normal (basic)

Tidak

normal

global.tls.enableHardwareAcceleration

Aktifkan akselerasi perangkat keras Transport Layer Security (TLS) untuk meningkatkan performa pemrosesan HTTPS.

Tidak

true

global.ipAccessControl.whitelist

Daftar putih alamat IP global. Menerima IP individual dan Blok CIDR.

Tidak

Tidak dikonfigurasi

global.ipAccessControl.blacklist

Daftar hitam alamat IP global. Menerima IP individual dan Blok CIDR.

Tidak

Tidak dikonfigurasi

monitor.logging.sls

Aktifkan pencatatan akses Simple Log Service (SLS). Berikan izin SLS kepada MSE Ingress Controller sebelum mengaktifkan.

Tidak

Nonaktif

monitor.logging.sls.reuseProject

Proyek SLS untuk log akses. Biarkan kosong untuk menggunakan proyek default; tentukan nama proyek untuk menggunakan proyek yang sudah ada.

Tidak

Kosong (proyek default)

monitor.tracing.xTrace

Aktifkan analisis pelacakan xTrace. Tidak dapat diaktifkan bersamaan dengan openTelemetry.

Tidak

Nonaktif

monitor.tracing.xTrace.sampleRate

Laju pengambilan sampel untuk xTrace, dalam persentase string. Misalnya, "100" = 100%.

Tidak

"0"

monitor.tracing.openTelemetry

Aktifkan analisis pelacakan OpenTelemetry. Tidak dapat diaktifkan bersamaan dengan xTrace.

Tidak

Nonaktif

monitor.tracing.openTelemetry.sampleRate

Laju pengambilan sampel untuk OpenTelemetry, dalam persentase string.

Tidak

"100"

ingress.local.ingressClass

IngressClass yang didengarkan gateway. Lihat tabel di bawah untuk nilai valid.

Tidak

Tidak dikonfigurasi

ingress.local.watchNamespace

Namespace yang dipantau. Biarkan kosong untuk mendengarkan semua namespace. Hanya satu namespace yang dapat ditentukan.

Tidak

Kosong (semua namespace)

ingress.local.ingressClass nilai valid:

Nilai

Perilaku

Tidak dikonfigurasi

Tidak ada sumber daya Ingress yang didengarkan.

mse

Mendengarkan sumber daya Ingress dengan IngressClass mse.

"" (string kosong)

Mendengarkan semua sumber daya Ingress di kluster.

nginx

Mendengarkan sumber daya Ingress dengan IngressClass nginx, atau tanpa IngressClass.

Nilai lainnya

Mendengarkan sumber daya Ingress yang diasosiasikan dengan IngressClass yang ditentukan.

Sumber daya IngressClass yang secara eksplisit mereferensikan MseIngressConfig di spec.parameters-nya memiliki prioritas lebih tinggi daripada nilai ingress.local.ingressClass.

Status

Periksa status MseIngressConfig:

kubectl get mseingressconfig

Output yang diharapkan:

NAME   STATUS     MESSAGE
test   Listening

Status berlangsung dalam urutan berikut: PendingRunningListening.

Status

Deskripsi

Pending

Gateway cloud-native sedang dibuat. Pembuatan memerlukan waktu sekitar 3 menit.

Running

Gateway telah dibuat dan berjalan.

Listening

Gateway berjalan dan mendengarkan sumber daya Ingress di kluster.

Failed

Gateway tidak valid. Periksa bidang Message pada output status untuk mengetahui penyebabnya.

Tag sumber daya

Gateway cloud-native MSE yang dibuat atau digunakan kembali oleh MseIngressConfig secara otomatis diberi tag. Anda dapat melihat tag gateway tersebut di bagian informasi dasar instans gateway di Konsol MSE.

Penting

Jangan mengedit tag ini di Konsol MSE. Mengubahnya dapat mengganggu operasi gateway.

Tag

Deskripsi

ack.aliyun.com

Mengidentifikasi kluster ACK yang traffic ingress-nya dikelola oleh gateway ini.

ingress.k8s.alibaba/MseIngressConfig

Mengidentifikasi MseIngressConfig yang diasosiasikan dengan gateway ini.

kubernetes.reused.by.user

Menandai gateway sebagai digunakan kembali. Menghapus MseIngressConfig yang diasosiasikan tidak akan menghapus gateway yang bertag ini.

Buat gateway cloud-native MSE

  1. Terapkan MseIngressConfig untuk membuat gateway. Contoh berikut membuat gateway bernama mse-ingress dengan 3 replika pada spesifikasi 2c4g.

    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: test
    spec:
      name: mse-ingress
      common:
        instance:
          spec: 2c4g
          replicas: 3
  2. Buat sumber daya IngressClass dan hubungkan ke MseIngressConfig.

    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

    Setelah menerapkan kedua sumber daya tersebut, sumber daya Ingress dengan IngressClass mse akan diproses oleh gateway cloud-native yang diasosiasikan.

  3. Verifikasi bahwa gateway sedang berjalan.

    kubectl get mseingressconfig test

    Status berlangsung melalui PendingRunningListening. Saat status menunjukkan Listening, gateway siap digunakan.

Gunakan kembali gateway cloud-native MSE yang sudah ada

Untuk menggunakan kembali gateway yang sudah ada, atur spec.id ke ID gateway (dalam format gw-xxx) dan kendalikan apakah akan menimpa konfigurasinya dengan spec.override.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: reuse
spec:
  id: gw-xxxx
  override: false
  ingress:
    local:
      ingressClass: mse

spec.override perilaku:

spec.override nilai

Efek pada opsi pendengaran Ingress, akselerasi TLS, kontrol akses IP, dan observabilitas

Efek pada asosiasi kluster

false

Pengaturan gateway yang ada dipertahankan.

Jika gateway belum diasosiasikan dengan kluster, secara otomatis diasosiasikan dan mengonfigurasi pendengaran ingressClass. Jika sudah diasosiasikan, pengaturan Ingress asli tidak berubah.

true

Menimpa pengaturan gateway dengan nilai yang ditentukan dalam MseIngressConfig ini. Jika parameter dihilangkan dari MseIngressConfig, pengaturan aslinya dihapus.

Mengasosiasikan gateway dengan kluster.

Penting

Saat mengatur spec.override: true, tentukan semua parameter yang ingin Anda pertahankan. Parameter yang dihilangkan dari MseIngressConfig akan ditimpa dan traffic Anda mungkin terpengaruh negatif.

Hapus gateway cloud-native MSE

Menghapus MseIngressConfig umumnya juga menghapus gateway yang diasosiasikan. Pengecualian terjadi pada skenario penggunaan kembali, di mana gateway tetap dipertahankan.

Jalankan perintah berikut untuk menghapus MseIngressConfig:

kubectl delete mseingressconfig <nama-konfigurasi-anda>

Perilaku penghapusan berdasarkan skenario:

Metode penagihan

Gateway dibuat oleh MSE Ingress Controller

Gateway digunakan kembali dari konsol

Pay-as-you-go

Menghapus MseIngressConfig juga menghapus gateway.

Menghapus MseIngressConfig mempertahankan gateway.

Langganan

Tidak berlaku

Menghapus MseIngressConfig mempertahankan gateway.

Konfigurasikan kontrol akses IP

Izinkan traffic dari IP tertentu (daftar putih)

Contoh berikut hanya mengizinkan alamat IP 1.1.XX.XX dan Blok CIDR 2.0.XX.XX/8 untuk mengakses gateway.

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

Blokir traffic dari IP tertentu (daftar hitam)

Contoh berikut memblokir akses dari alamat IP 1.1.XX.XX dan Blok CIDR 2.0.XX.XX/8.

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

Aktifkan Simple Log Service

Sebelum mengaktifkan Simple Log Service (SLS), berikan izin SLS kepada MSE Ingress Controller sesuai jenis kluster Anda:

Contoh berikut mengonfigurasi gateway untuk mengirimkan log akses ke proyek SLS bernama demo. Untuk menggunakan proyek default, biarkan reuseProject kosong.

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  monitor:
    logging:
      sls:
        reuseProject: "demo"

Aktifkan Managed Service for OpenTelemetry

Mengonfigurasi Managed Service for OpenTelemetry mengaktifkan pelacakan terdistribusi end-to-end untuk membantu mendiagnosis dan menemukan masalah produksi.

Contoh berikut mengatur laju pengambilan sampel menjadi 100%.

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

Konfigurasi tambahan

Instans gateway cloud-native MSE yang digunakan oleh MSE Ingress mendukung konfigurasi tambahan berikut.

Untuk menerapkan konfigurasi ini, login ke Konsol MSE, buka Cloud-native Gateway > Gateways, temukan instans gateway yang sudah ada atau yang dibuat otomatis oleh MSE Ingress Controller (ID instans menggunakan format mse_ingresspost-*****), klik ID instans tersebut, lalu klik Parameters di panel navigasi sebelah kiri.

Item konfigurasi

Tipe

Deskripsi

EnableGenerateRequestId

Bool

Berlaku untuk permintaan. Saat diaktifkan, gateway menghasilkan requestId di header permintaan sehingga Anda dapat melacak permintaan tersebut.

EnableGzip

Bool

Berlaku untuk permintaan dan respons. Saat diaktifkan, gzip mengompresi permintaan dan respons, yang mengurangi traffic gateway tetapi meningkatkan penggunaan CPU gateway.

EnableSlashMerge

Bool

Berlaku untuk permintaan. Menentukan apakah akan menggabungkan slash berlebih (/) dalam path permintaan. Saat diaktifkan, slash berlebih dalam www.a.com//b digabungkan dan path tersebut ditangani sama seperti www.a.com/b.

DownstreamConnectionBufferLimits

Int. Nilai valid: [0, 2147483647]

Berlaku untuk koneksi gateway. Ukuran buffer untuk satu koneksi. Nilai ini memengaruhi throughput dan penggunaan memori gateway.

XffTrustedNum

Int. Nilai valid: [0, 10]

Berlaku untuk permintaan. Jumlah proxy tepercaya di depan gateway. Nilai ini menentukan apakah gateway menggunakan header permintaan yang dihasilkan klien seperti x-forwarded-for dan x-request-id.

DownstreamHttp2MaxConcurrentStream

Int. Nilai valid: [0, 2147483647]

Berlaku untuk permintaan. Jumlah maksimum stream konkuren pada satu koneksi saat klien menggunakan HTTP/2.

InitialStreamWindowSize

Int. Nilai valid: [65535, 2147483647] (byte)

Berlaku untuk permintaan. Ukuran jendela stream awal yang dinegosiasikan antara gateway dan klien saat menggunakan HTTP/2.

InitialConnectionWindowSize

Int. Nilai valid: [65535, 2147483647] (byte)

Berlaku untuk permintaan. Ukuran jendela awal tingkat koneksi yang digunakan antara gateway dan klien saat menggunakan HTTP/2.

EnableHttp3

Bool

Menentukan apakah akan mendukung HTTP/3. HTTP/3 tidak kompatibel dengan akselerasi perangkat keras. Nonaktifkan akselerasi perangkat keras sebelum mengaktifkan HTTP/3.

PathWithEscapedSlashes

String. Nilai valid: [KEEP_UNCHANGED, REJECT_REQUEST, UNESCAPE_AND_REDIRECT, UNESCAPE_AND_FORWARD]

Aksi yang diambil terhadap permintaan yang path URI-nya mengandung karakter escape %2F, %2f, %5C, atau %5c. Nilai default: KEEP_UNCHANGED, yang menjaga path tetap tidak berubah.

ZipAlgorithm

List<String>. Nilai valid: [brotli, gzip]

Algoritma yang digunakan setelah kompresi diaktifkan. Anda dapat memilih brotli atau gzip. Jika EnableGzip dinonaktifkan saat mengatur item ini, EnableGzip akan diaktifkan secara otomatis.

EnableProxyProtocol

Bool

Menentukan apakah akan mengaktifkan protokol Proxy. Jika traffic inbound gateway tiba melalui instans Network Load Balancer (NLB), gateway tidak dapat memperoleh alamat IP klien yang sebenarnya kecuali item ini diaktifkan. Mengaktifkannya tidak berdampak pada permintaan yang tidak menggunakan protokol Proxy.

EnableCustomAuthConfigPush

Bool

Berlaku untuk skenario yang menggunakan layanan otentikasi yang dikelola sendiri. Saat diaktifkan, perubahan aturan otentikasi tidak mengganggu koneksi, yang cocok untuk skenario WebSocket dan bisnis online.

KeepaliveHeaderTimeout

Int. Nilai valid: [0, 600] (detik)

Digunakan untuk menghasilkan header respons Keep-Alive yang dikembalikan ke klien, yang memberi tahu klien periode keepalive koneksi. Misalnya, jika Anda mengatur item ini menjadi 10, gateway mengembalikan keep-alive: timeout=10. Jika diatur menjadi 0, header tidak dikembalikan.

WebsocketTermGracePeriod

Int. Nilai valid: [20, 900] (detik)

Periode keepalive yang dipertahankan untuk koneksi WebSocket dalam skenario yang memerlukan penutupan koneksi, seperti peningkatan atau restart instans gateway.

EnableGzipHardwareAccelerate

Bool

Mengompresi data menggunakan perangkat keras khusus. Saat diaktifkan, permintaan dan respons dikompresi, yang secara signifikan mengurangi traffic gateway dan memberikan performa lebih tinggi serta penggunaan CPU lebih rendah dibanding gzip berbasis perangkat lunak. Anda tidak dapat mengaktifkan item ini di wilayah yang tidak mendukungnya, atau pada instans yang dibeli tanpa akselerasi perangkat keras gzip. Setelah diaktifkan, EnableGzip dan ZipAlgorithm tidak lagi berlaku.

EnableK8sSourceWorkloadFilter

Bool

Memfilter sumber daya Ingress, Service, dan Pod berdasarkan label tertentu saat Anda menambahkan sumber layanan. Filter negasi didukung.