全部产品
Search
文档中心

Container Service for Kubernetes:Anotasi yang didukung oleh MSE Ingress gateways

更新时间:Jun 26, 2025

Microservices Engine (MSE) Ingress Gateways mendukung anotasi inti dan umum dari NGINX Ingress Gateways. Hal ini mempermudah migrasi tanpa hambatan dari NGINX Ingress Gateways ke MSE Ingress Gateways. MSE Ingress Gateways juga menyediakan anotasi tambahan untuk tata kelola lalu lintas. Topik ini menjelaskan anotasi yang didukung oleh MSE Ingress Gateways.

Informasi latar belakang

Sumber daya Ingress digunakan untuk mengelola cara layanan dalam klaster Kubernetes diekspos ke akses eksternal. Seiring dengan meningkatnya jumlah aplikasi terdistribusi berbasis cloud-native, sumber daya Ingress yang didefinisikan dalam standar Kubernetes tidak dapat memenuhi persyaratan manajemen lalu lintas pengguna. Untuk memenuhi kebutuhan fungsionalitas Ingress dalam berbagai skenario, tim pengembangan pengontrol Ingress mulai mendefinisikan anotasi kustom. Lebih dari 100 anotasi telah didefinisikan untuk pengontrol NGINX Ingress arus utama.

MSE Ingress Gateways mendukung anotasi umum dan inti dari NGINX Ingress Gateways sehingga Anda dapat mengintegrasikan bisnis Anda ke dalam ekosistem Kubernetes. Ini memfasilitasi migrasi tanpa hambatan dari NGINX Ingress Gateways ke MSE Ingress Gateways. MSE Ingress Gateways juga menyediakan anotasi tambahan untuk tata kelola lalu lintas guna meningkatkan responsivitas.

Ikhtisar

Sumber daya Ingress yang didefinisikan dalam standar Kubernetes hanya menyediakan komunikasi terenkripsi Transport Layer Security (TLS) dan perutean sederhana lalu lintas HTTP Layer-7. Dalam banyak kasus, pengontrol Ingress menggunakan anotasi untuk meningkatkan kemampuan Ingress dalam hal tata kelola lalu lintas dan perlindungan keamanan.

Anotasi Ingress yang Didukung

Anotasi NGINX Ingress

Untuk memfasilitasi migrasi tanpa hambatan dari NGINX Ingress Gateways ke MSE Ingress Gateways, MSE Ingress Gateways mendukung sebagian besar anotasi NGINX Ingress. Tabel berikut menjelaskan status dukungan anotasi NGINX Ingress.

Anotasi NGINX Ingress

Jumlah total anotasi

Deskripsi

Anotasi yang didukung

51

Cocok untuk 90% skenario.

Anotasi yang tidak memengaruhi fungsionalitas

15

Tidak diperlukan konfigurasi.

Anotasi yang akan didukung

48

Akan didukung dalam beberapa skenario.

Anotasi yang tidak didukung

5

Terkait dengan potongan kode dari NGINX Ingress gateways.

Catatan

Kode implementasi fitur MSE berbeda dari kode NGINX.

  1. Variabel NGINX yang dikonfigurasikan dalam anotasi dan potongan kode NGINX Ingress di MSE tidak kompatibel dengan yang ada di NGINX.

  2. Dalam NGINX Ingress Controller, anotasi nginx.ingress.kubernetes.io/proxy-body-size digunakan untuk mengonfigurasi ukuran maksimum yang diizinkan untuk badan permintaan klien. Jika badan permintaan melebihi batas yang ditentukan, NGINX akan melaporkan kesalahan. Sebagai perbandingan, gateway cloud-native MSE mengadopsi pengkodean transfer chunked untuk transmisi data. Pendekatan ini secara otomatis memecah badan permintaan besar menjadi chunk, tanpa perlu mengonfigurasi ukuran badan permintaan terlebih dahulu. Untuk mentransfer file besar, Anda dapat mengubah parameter DownstreamConnectionBufferLimits di panel Pengaturan Parameter untuk gateway MSE.

Anotasi MSE Ingress

MSE Ingress Gateways menyediakan anotasi tambahan untuk tata kelola lalu lintas. Tabel berikut menjelaskan status dukungan anotasi tambahan yang disediakan oleh MSE.

Anotasi MSE Ingress

Jumlah total anotasi

Deskripsi

Anotasi diperluas

40

Selain anotasi NGINX Ingress, MSE Ingress gateways menyediakan anotasi tambahan untuk meningkatkan tata kelola lalu lintas dan perlindungan keamanan.

Deskripsi ruang lingkup

  • Ingress: Anotasi dengan ruang lingkup ini berlaku untuk aturan routing yang didefinisikan pada sumber daya Ingress yang Anda gunakan.

  • Nama Domain: Anotasi dengan ruang lingkup ini berlaku untuk host yang didefinisikan oleh sumber daya Ingress yang Anda gunakan. Ruang lingkup ini juga berlaku pada host lain dari sumber daya Ingress lainnya.

  • Layanan: Anotasi dengan ruang lingkup ini berlaku untuk layanan yang didefinisikan oleh sumber daya Ingress yang Anda gunakan. Anotasi ini juga berlaku pada layanan lain dari sumber daya Ingress lainnya.

Prefiks anotasi

MSE Ingress Gateways menyediakan anotasi yang memiliki fungsi yang sama dengan anotasi terkait yang didukung oleh NGINX Ingress Gateways. Misalnya, fungsi dari anotasi nginx.ingress.kubernetes.io/xxx yang disediakan oleh gateway ingress NGINX sama dengan anotasi mse.ingress.kubernetes.io/xxx yang disediakan oleh MSE Ingress Gateways. Anda dapat menggunakan prefiks domain bisnis nginx atau mse berdasarkan kebiasaan penggunaan Anda. Namun, prefiks mse dari anotasi yang secara eksklusif disediakan oleh MSE Ingress Gateways tidak dapat diganti dengan prefiks nginx.

Anotasi yang didukung

Bagian ini menjelaskan anotasi yang didukung dalam hal tata kelola lalu lintas dan perlindungan keamanan.

Tata kelola lalu lintas

Rilis canary

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/canary

Ingress

Kompatibel

Menentukan apakah fitur rilis canary diaktifkan.

nginx.ingress.kubernetes.io/canary-by-header

Ingress

Kompatibel

Menentukan kunci header permintaan yang digunakan untuk pemisahan lalu lintas.

nginx.ingress.kubernetes.io/canary-by-header-value

Ingress

Kompatibel

Menentukan nilai header permintaan yang digunakan untuk pemisahan lalu lintas. Cocokan tepat didukung untuk nilai header permintaan.

nginx.ingress.kubernetes.io/canary-by-header-pattern

Ingress

Kompatibel

Menentukan nilai header permintaan yang digunakan untuk pemisahan lalu lintas. Cocokan ekspresi reguler didukung untuk nilai header permintaan.

mse.ingress.kubernetes.io/canary-by-query

Ingress

Eksklusif MSE

Menentukan parameter query URL yang digunakan untuk pemisahan lalu lintas.

mse.ingress.kubernetes.io/canary-by-query-value

Ingress

Eksklusif MSE

Menentukan parameter query URL yang digunakan untuk pemisahan lalu lintas. Cocokan tepat didukung untuk nilai parameter query URL.

mse.ingress.kubernetes.io/canary-by-query-pattern

Ingress

Eksklusif MSE

Menentukan parameter query URL yang digunakan untuk pemisahan lalu lintas. Cocokan ekspresi reguler didukung untuk nilai parameter query URL.

nginx.ingress.kubernetes.io/canary-by-cookie

Ingress

Kompatibel

Menentukan kunci cookie permintaan yang digunakan untuk pemisahan lalu lintas.

mse.ingress.kubernetes.io/canary-by-cookie-value

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.30

Menentukan nilai cookie permintaan yang digunakan untuk pemisahan lalu lintas. Cocokan tepat didukung untuk nilai cookie permintaan.

nginx.ingress.kubernetes.io/canary-weight

Ingress

Kompatibel

Menentukan bobot layanan yang digunakan untuk pemisahan lalu lintas.

nginx.ingress.kubernetes.io/canary-weight-total

Ingress

Kompatibel

Menentukan bobot total.

Multi-layanan

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/destination

Ingress

Eksklusif MSE

Menentukan distribusi layanan berbasis bobot untuk rute.

Sintaks konfigurasi adalah {weight}% {serviceName}.{serviceNamespace}.svc.cluster.local:{port}.

Catatan
  • Setelah Anda mengonfigurasi anotasi ini, layanan tujuan dari semua aturan routing pada gateway Ingress akan berubah menjadi layanan yang ditentukan oleh anotasi ini.

  • Jika sintaks konfigurasi anotasi ini tidak memenuhi persyaratan, anotasi ini akan diabaikan. Dalam hal ini, layanan tujuan dari semua aturan routing pada gateway Ingress tidak akan berubah.

Contoh sintaks:

annotations:
  # 60% lalu lintas dirutekan ke layanan foo dan 40% lalu lintas dirutekan ke layanan bar.
  mse.ingress.kubernetes.io/destination: |
    60% foo.default.svc.cluster.local:8080
    40% bar.default.svc.cluster.local:9090

Subset layanan

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/service-subset

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Subset layanan cocok untuk skenario di mana satu layanan mengelola beberapa penyebaran. Subset layanan adalah subset pod layanan tempat permintaan diteruskan berdasarkan konfigurasi Ingress.

  • Jika anotasi mse.ingress.kubernetes.io/subset-labels tidak dikonfigurasikan, permintaan diteruskan berdasarkan nilai anotasi ini.

    • Jika anotasi ini diatur ke "" atau base, permintaan diteruskan ke pod yang labelnya berisi opensergo.io/canary: "" atau kunci labelnya tidak diawali dengan opensergo.io/canary. Dengan cara ini, permintaan diteruskan ke pod yang memiliki label kosong atau tidak memiliki label.

    • Jika anotasi ini diatur ke nilai selain "" atau base, permintaan diteruskan ke pod yang labelnya berisi opensergo.io/canary-{Nilai yang Ditentukan}: {Nilai yang Ditentukan}. Contohnya, jika Anda menetapkan anotasi ini ke gray, permintaan diteruskan ke pod yang labelnya berisi opensergo.io/canary-gray: gray.

  • Jika anotasi mse.ingress.kubernetes.io/subset-labels dikonfigurasikan, permintaan hanya diteruskan ke pod yang labelnya berisi Key:Value yang didefinisikan dalam mse.ingress.kubernetes.io/subset-labels.

Catatan

Jika layanan tidak berisi pod dengan label yang ditentukan, permintaan secara otomatis diteruskan ke semua pod layanan tersebut.

mse.ingress.kubernetes.io/subset-labels

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Opsional. Anda dapat menggunakan anotasi ini dengan anotasi mse.ingress.kubernetes.io/service-subset untuk menentukan label yang digunakan untuk mengklasifikasikan pod ke dalam subset.

Fallback

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/default-backend

Ingress

Kompatibel

Menentukan layanan fallback. Jika tidak ada node yang tersedia untuk layanan yang didefinisikan dalam aturan Ingress, permintaan secara otomatis diteruskan ke layanan fallback.

nginx.ingress.kubernetes.io/custom-http-errors

Ingress

Kompatibel

Anotasi ini bekerja dengan anotasi nginx.ingress.kubernetes.io/default-backend. Jika kode status HTTP yang ditentukan dikembalikan oleh layanan backend, permintaan asli diteruskan kembali ke layanan fallback.

Penting

Ketika permintaan diteruskan ke layanan fallback, jalur permintaan ditulis ulang sebagai garis miring (/). Perilaku ini konsisten dengan yang diimplementasikan di NGINX Ingress gateways.

Cocokan regex

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/use-regex

Ingress

Kompatibel

Menentukan apakah ekspresi reguler digunakan untuk mencocokkan jalur yang didefinisikan dalam Ingress. Ekspresi reguler menggunakan sintaks RE2.

Tulis ulang

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/rewrite-target

Ingress

Kompatibel

Menentukan jalur tujuan untuk operasi penulisan ulang. Grup tangkapan didukung.

nginx.ingress.kubernetes.io/upstream-vhost

Ingress

Kompatibel

Menentukan host tujuan untuk operasi penulisan ulang. Jika permintaan rute yang cocok dengan CustomResourceDefinition (CRD) dari sumber daya Ingress diteruskan ke layanan backend, sistem mengubah nilai host di header permintaan menjadi nilai yang ditentukan.

Pengalihan

Catatan

NGINX menyediakan lebih banyak fitur daripada NGINX Ingress. Penggunaan Variabel NGINX untuk pengalihan mungkin didukung dalam beberapa versi NGINX Ingress. Namun, fitur ini tidak dijelaskan dalam dokumentasi Anotasi. Penggunaan variabel NGINX untuk pengalihan dapat menyebabkan masalah ketidakcocokan. Kami menyarankan Anda untuk tidak menggunakan variabel NGINX untuk pengalihan di NGINX Ingress.

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/ssl-redirect

Ingress

Kompatibel

Menentukan apakah akan mengarahkan ulang HTTP ke HTTPS.

nginx.ingress.kubernetes.io/force-ssl-redirect

Ingress

Kompatibel

Menentukan apakah akan memaksa pengalihan HTTP ke HTTPS.

nginx.ingress.kubernetes.io/permanent-redirect

Ingress

Kompatibel

Menentukan pengalihan permanen.

nginx.ingress.kubernetes.io/permanent-redirect-code

Ingress

Kompatibel

Menentukan kode status yang digunakan untuk pengalihan permanen.

nginx.ingress.kubernetes.io/temporal-redirect

Ingress

Kompatibel

Menentukan pengalihan temporal.

nginx.ingress.kubernetes.io/app-root

Ingress

Kompatibel

Menentukan jalur root aplikasi tujuan untuk pengalihan. Anotasi ini digunakan untuk mengalihkan permintaan dari / ke jalur yang ditentukan.

CORS

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/enable-cors

Ingress

Kompatibel

Menentukan apakah akan mengaktifkan berbagi sumber daya lintas domain (CORS).

nginx.ingress.kubernetes.io/cors-allow-origin

Ingress

Kompatibel

Menentukan situs pihak ketiga yang diizinkan untuk CORS.

nginx.ingress.kubernetes.io/cors-allow-methods

Ingress

Kompatibel

Menentukan metode permintaan yang diizinkan untuk CORS. Metode permintaan yang diizinkan termasuk GET, POST, dan PUT.

nginx.ingress.kubernetes.io/cors-allow-headers

Ingress

Kompatibel

Menentukan header permintaan yang diizinkan untuk CORS.

nginx.ingress.kubernetes.io/cors-expose-headers

Ingress

Kompatibel

Menentukan header respons yang diizinkan yang diekspos ke browser.

nginx.ingress.kubernetes.io/cors-allow-credentials

Ingress

Kompatibel

Menentukan apakah kredensial dapat disertakan dalam permintaan CORS.

nginx.ingress.kubernetes.io/cors-max-age

Ingress

Kompatibel

Menentukan durasi maksimum di mana hasil pra-pemeriksaan disimpan dalam cache.

Kontrol header

Catatan

Anotasi terkait kontrol header yang didefinisikan untuk rute dasar dan anotasi terkait kontrol header yang didefinisikan untuk rute canary bersifat independen satu sama lain dan divalidasi secara terpisah. Anda dapat menggunakan fitur kontrol header untuk mengonfigurasi kebijakan kontrol header yang berbeda untuk permintaan pada rute dasar dan permintaan pada rute canary.

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/request-header-control-add

Ingress

Eksklusif MSE

Menentukan header yang ditambahkan ke permintaan saat permintaan diteruskan ke layanan backend. Jika header sudah ada, nilainya digabungkan setelah nilai aslinya. Sintaks berikut digunakan:

  • Header tunggal: Pasangan key-value digunakan.

  • Beberapa header: Garis vertikal (|) dalam file YAML digunakan. Setiap pasangan key-value menempati baris terpisah.

mse.ingress.kubernetes.io/request-header-control-update

Ingress

Eksklusif MSE

Menentukan header yang dimodifikasi dalam permintaan saat permintaan diteruskan ke layanan backend. Jika header sudah ada, nilainya menimpa nilai aslinya. Sintaks berikut digunakan:

  • Header tunggal: Pasangan key-value digunakan.

  • Beberapa header: Garis vertikal (|) dalam file YAML digunakan. Setiap pasangan key-value menempati baris terpisah.

mse.ingress.kubernetes.io/request-header-control-remove

Ingress

Eksklusif MSE

Menentukan header yang dihapus dari permintaan saat permintaan diteruskan ke layanan backend. Sintaks berikut digunakan:

  • Header tunggal: Kunci digunakan.

  • Beberapa header: Beberapa header dipisahkan dengan koma (,).

mse.ingress.kubernetes.io/response-header-control-add

Ingress

Eksklusif MSE

Menentukan header yang ditambahkan ke respons yang diterima dari layanan backend sebelum respons diteruskan ke klien. Jika header sudah ada, nilainya digabungkan setelah nilai aslinya. Sintaks berikut digunakan:

  • Header tunggal: Pasangan key-value digunakan.

  • Beberapa header: Garis vertikal (|) dalam file YAML digunakan. Setiap pasangan key-value menempati baris terpisah.

mse.ingress.kubernetes.io/response-header-control-update

Ingress

Eksklusif MSE

Menentukan header yang dimodifikasi dalam respons yang diterima dari layanan backend sebelum respons diteruskan ke klien. Jika header sudah ada, nilainya menimpa nilai aslinya. Sintaks berikut digunakan:

  • Header tunggal: Pasangan key-value digunakan.

  • Beberapa header: Garis vertikal (|) dalam file YAML digunakan. Setiap pasangan key-value menempati baris terpisah.

mse.ingress.kubernetes.io/response-header-control-remove

Ingress

Eksklusif MSE

Menentukan header yang dihapus dari respons yang diterima dari layanan backend sebelum respons diteruskan ke klien. Sintaks berikut digunakan:

  • Header tunggal: Kunci digunakan.

  • Beberapa header: Beberapa header dipisahkan dengan koma (,).

Batas waktu

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/timeout

Ingress

Eksklusif MSE

Menentukan periode batas waktu permintaan. Satuan: detik. Secara default, tidak ada batas waktu yang dikonfigurasikan.

Catatan

Pengaturan batas waktu berlaku untuk lapisan aplikasi, bukan untuk TCP di lapisan transport.

Percobaan ulang

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/proxy-next-upstream-tries

Ingress

Kompatibel

Menentukan jumlah maksimum percobaan ulang permintaan. Nilai default: 3.

nginx.ingress.kubernetes.io/proxy-next-upstream-timeout

Ingress

Kompatibel

Menentukan periode batas waktu untuk percobaan ulang permintaan. Satuan: detik. Secara default, tidak ada batas waktu yang dikonfigurasikan.

nginx.ingress.kubernetes.io/proxy-next-upstream

Ingress

Kompatibel

Menentukan kondisi percobaan ulang. Untuk informasi lebih lanjut, lihat mekanisme percobaan ulang NGINX.

Pemantulan lalu lintas

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/mirror-target-service

Ingress

Eksklusif MSE

Menentukan layanan tujuan ke mana lalu lintas yang dicerminkan diteruskan. Formatnya adalah namespace/name:port.

  • namespace: namespace tempat layanan Kubernetes berada. Parameter ini opsional. Namespace default adalah namespace tempat gateway Ingress berada.

  • name: nama layanan Kubernetes. Parameter ini wajib.

  • port: port layanan Kubernetes ke mana lalu lintas yang dicerminkan diteruskan. Parameter ini opsional. Secara default, port pertama digunakan.

mse.ingress.kubernetes.io/mirror-percentage

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.32

Menentukan persentase lalu lintas yang dicerminkan. Nilai valid: 0-100. Nilai default: 100.

Alias domain

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/server-alias

Domain

  • Sebagian kompatibel (Hanya mendukung pencocokan domain eksak dan domain wildcard)

  • Versi gateway yang diperlukan: V1.2.30

Menentukan alias domain yang didefinisikan dalam spesifikasi Ingress. Alias domain berbagi konfigurasi terkait Transport Layer Security (TLS), perutean, dan tata kelola lalu lintas dari domain sumber.

Pembatasan laju pada gateway tunggal (akan ditinggalkan)

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/route-limit-rpm

Ingress

Eksklusif MSE

Menentukan jumlah maksimum permintaan per menit (RPM) yang dirutekan pada gateway. Batas burst sama dengan nilai yang ditentukan dikalikan dengan mse.ingress.kubernetes.io/route-limit-burst-multiplier.

Ketika pembatasan laju dipicu, isi badan respons adalah local_rate_limited. Kode status respons:

  • Jika versi gateway lebih awal dari V1.2.23, kode status 503 dikembalikan.

  • Jika versi gateway adalah V1.2.23 atau lebih baru, kode status 429 dikembalikan.

mse.ingress.kubernetes.io/route-limit-rps

Ingress

Eksklusif MSE

Menentukan jumlah maksimum permintaan per detik (RPS) yang dirutekan pada gateway. Batas burst sama dengan nilai yang ditentukan dikalikan dengan mse.ingress.kubernetes.io/route-limit-burst-multiplier.

Ketika pembatasan laju dipicu, isi badan respons adalah local_rate_limited. Kode status respons:

  • Jika versi gateway lebih awal dari V1.2.23, kode status 503 dikembalikan.

  • Jika versi gateway adalah V1.2.23 atau lebih baru, kode status 429 dikembalikan.

mse.ingress.kubernetes.io/route-limit-burst-multiplier

Ingress

Eksklusif MSE

Menentukan pengali batas burst. Nilai default: 5.

(Direkomendasikan) Kontrol pembatasan laju global

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/rate-limit

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan jumlah maksimum RPS yang dirutekan pada gateway. Anotasi ini digunakan untuk pembatasan laju global.

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan kode respons ketika pembatasan laju dipicu pada rute yang didefinisikan oleh Ingress. Nilai default: 429.

Catatan

Anotasi ini saling eksklusif dengan anotasi mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url. Anda harus menentukan salah satu dari dua anotasi tersebut.

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body-type

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan format badan respons ketika pembatasan dipicu pada rute yang didefinisikan oleh Ingress. Nilai default: text.

  • Jika parameter ini diatur ke text, nilai Content-Type dalam respons adalah text/plain; charset=UTF-8.

  • Jika parameter ini diatur ke JSON, nilai Content-Type dalam respons adalah application/json; charset=UTF-8.

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan badan respons ketika pembatasan laju dipicu pada rute yang didefinisikan oleh Ingress. Nilai default: sentinel rate limited.

mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan URL pengalihan ketika pembatasan laju dipicu pada rute yang didefinisikan oleh Ingress.

Catatan

Anotasi ini saling eksklusif dengan anotasi mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code. Anda harus menentukan salah satu dari dua anotasi tersebut.

Kontrol konkurensi global

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/concurrency-limit

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan jumlah maksimum permintaan yang dapat diproses secara bersamaan. Anotasi ini digunakan untuk kontrol konkurensi global pada rute di gateway.

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan kode respons ketika kontrol konkurensi dipicu pada rute yang didefinisikan oleh Ingress. Kode respons default adalah 429.

Catatan

Anotasi ini saling eksklusif dengan anotasi mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url. Anda harus menentukan salah satu dari dua anotasi tersebut.

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body-type

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan format badan respons ketika rute yang didefinisikan oleh Ingress memicu kontrol konkurensi. Nilai default: teks.

  • Jika parameter ini diatur ke teks, nilai Content-Type dalam respons adalah text/plain; charset=UTF-8.

  • Jika parameter ini diatur ke JSON, nilai Content-Type dalam respons adalah application/json; charset=UTF-8.

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan badan respons ketika rute yang didefinisikan oleh Ingress memicu kontrol konkurensi. Nilai default: sentinel rate limited.

mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url

Ingress

  • Eksklusif MSE

  • Versi gateway yang diperlukan: V1.2.25

Menentukan URL pengalihan ketika rute yang didefinisikan oleh Ingress memicu kontrol konkurensi.

Catatan

Anotasi ini saling eksklusif dengan anotasi mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code. Anda harus menentukan salah satu dari dua anotasi tersebut.

Protokol backend

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/backend-protocol

Layanan

Sebagian kompatibel. AJP dan FCGI tidak didukung.

Menentukan protokol yang digunakan oleh layanan backend. Nilai default: HTTP. Nilai valid:

  • HTTP

  • HTTP2

  • HTTPS

  • gRPC

  • gRPCS

Pengimbangan beban

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/load-balance

Layanan

Sebagian kompatibel. Algoritma Exponentially Weighted Moving Average (EWMA) tidak didukung. Jika Anda mengonfigurasikan algoritma EWMA sebagai algoritma penyeimbangan beban, algoritma akan kembali ke algoritma penyeimbangan beban round-robin.

Menentukan algoritma penyeimbangan beban umum yang digunakan oleh layanan backend. Nilai default adalah round_robin. Nilai valid:

  • round_robin: algoritma penyeimbangan beban round-robin.

  • least_conn: algoritma penyeimbangan beban berbasis koneksi paling sedikit.

  • random: algoritma penyeimbangan beban acak.

nginx.ingress.kubernetes.io/upstream-hash-by

Layanan

Sebagian kompatibel. Kombinasi variabel NGINX dan konstanta tidak didukung.

Menentukan algoritma penyeimbangan beban hash konsisten. MSE Ingress gateways mendukung jenis-jenis hash konsisten berikut:

  • Hash konsisten berdasarkan variabel NGINX:

    • $request_uri: jalur permintaan, yang digunakan sebagai kunci hash. Parameter jalur disertakan.

    • $host: host permintaan, yang digunakan sebagai kunci hash.

    • $remote_addr: alamat IP klien, yang digunakan sebagai kunci hash.

  • Hash konsisten berdasarkan header permintaan. Anda hanya perlu mengonfigurasi $http_headerName.

  • Hash konsisten berdasarkan parameter jalur permintaan. Anda hanya perlu mengonfigurasi $arg_varName.

Pra-pemuatan layanan (mulai yang lancar)

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/warmup

Layanan

Eksklusif MSE

Menentukan periode waktu di mana layanan dipra-pemuat. Satuan: detik. Secara default, fitur pra-pemuatan layanan dinonaktifkan.

Penting

Pra-pemuatan layanan bergantung pada algoritma penyeimbangan beban yang dipilih. Hanya algoritma penyeimbangan beban berbasis round robin dan koneksi paling sedikit yang didukung.

Affinitas cookie

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/affinity

Layanan

Kompatibel

Menentukan tipe afinitas. Nilai default dan satu-satunya nilai valid adalah cookie.

nginx.ingress.kubernetes.io/affinity-mode

Layanan

Sebagian kompatibel. Mode persistent tidak didukung.

Menentukan mode afinitas. Nilai default dan satu-satunya nilai valid adalah balanced.

nginx.ingress.kubernetes.io/session-cookie-name

Layanan

Kompatibel

Menentukan nama cookie yang digunakan sebagai kunci hash.

nginx.ingress.kubernetes.io/session-cookie-path

Layanan

Kompatibel

Menentukan jalur cookie yang dihasilkan ketika cookie yang ditentukan tidak ada. Nilai default: /.

nginx.ingress.kubernetes.io/session-cookie-max-age

Layanan

Kompatibel

Menentukan waktu kedaluwarsa cookie yang dihasilkan ketika cookie yang ditentukan tidak ada. Satuan: detik. Secara default, anotasi ini ditentukan pada tingkat sesi.

nginx.ingress.kubernetes.io/session-cookie-expires

Layanan

Kompatibel

Menentukan waktu kedaluwarsa cookie yang dihasilkan ketika cookie yang ditentukan tidak ada. Satuan: detik. Secara default, anotasi ini ditentukan pada tingkat sesi.

Kontrol akses berbasis alamat IP

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/whitelist-source-range

Ingress

Kompatibel

Menentukan daftar putih alamat IP untuk rute tertentu. Alamat IP dan blok CIDR didukung. Pisahkan alamat IP atau blok CIDR dengan koma (,).

nginx.ingress.kubernetes.io/denylist-source-range

Ingress

  • Kompatibel

  • Versi gateway yang diperlukan: V1.2.31

Menentukan daftar hitam alamat IP untuk rute tertentu. Alamat IP dan blok CIDR didukung. Pisahkan alamat IP atau blok CIDR dengan koma (,).

Catatan

Anotasi ini memiliki prioritas lebih tinggi daripada anotasi eksklusif MSE mse.ingress.kubernetes.io/blacklist-source-range.

mse.ingress.kubernetes.io/blacklist-source-range

Ingress

Eksklusif MSE

Menentukan daftar hitam alamat IP untuk rute tertentu. Alamat IP dan blok CIDR didukung. Pisahkan alamat IP atau blok CIDR dengan koma (,).

mse.ingress.kubernetes.io/domain-whitelist-source-range

Ingress

Eksklusif MSE

Menentukan daftar putih alamat IP untuk nama domain tertentu. Daftar putih alamat IP pada tingkat rute memiliki prioritas lebih tinggi daripada daftar putih alamat IP pada tingkat nama domain. Alamat IP dan blok CIDR didukung. Pisahkan alamat IP atau blok CIDR dengan koma (,).

mse.ingress.kubernetes.io/domain-blacklist-source-range

Ingress

Eksklusif MSE

Menentukan daftar hitam alamat IP untuk nama domain tertentu. Daftar hitam alamat IP pada tingkat rute memiliki prioritas lebih tinggi daripada daftar hitam alamat IP pada tingkat nama domain. Alamat IP dan blok CIDR didukung. Pisahkan alamat IP atau blok CIDR dengan koma (,).

Konfigurasi kumpulan koneksi antara gateway dan layanan backend

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/connection-policy-tcp-max-connection

Layanan

Eksklusif MSE

Menentukan jumlah maksimum koneksi yang dapat dibuat antara gateway dan layanan backend.

mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint

Layanan

Eksklusif MSE

Menentukan jumlah maksimum koneksi yang dapat dibuat antara gateway dan satu node dari layanan backend.

mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection

Layanan

Eksklusif MSE

Menentukan jumlah maksimum permintaan pada satu koneksi antara gateway dan layanan backend.

Perlindungan keamanan

Komunikasi terenkripsi antara klien dan gateway

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

mse.ingress.kubernetes.io/tls-min-protocol-version

Nama domain

Eksklusif MSE

Menentukan versi minimum TLS. Nilai default: TLSv1.0. Nilai valid:

  • TLSv1.0

  • TLSv1.1

  • TLSv1.2

  • TLSv1.3

mse.ingress.kubernetes.io/tls-max-protocol-version

Nama domain

Eksklusif MSE

Menentukan versi maksimum TLS. Nilai default: TLSv1.3. Nilai valid:

  • TLSv1.0

  • TLSv1.1

  • TLSv1.2

  • TLSv1.3

nginx.ingress.kubernetes.io/ssl-cipher

Nama domain

Kompatibel

Menentukan paket cipher TLS. Anda dapat menentukan beberapa paket cipher TLS, yang dipisahkan oleh koma (,). Parameter ini hanya berlaku jika versi TLS dari v1.0 hingga v1.2 digunakan selama proses jabat tangan TLS.

Paket cipher default:

  • ECDHE-ECDSA-AES128-GCM-SHA256

  • ECDHE-RSA-AES128-GCM-SHA256

  • ECDHE-ECDSA-AES128-SHA

  • ECDHE-RSA-AES128-SHA

  • AES128-GCM-SHA256

  • AES128-SHA

  • ECDHE-ECDSA-AES256-GCM-SHA384

  • ECDHE-RSA-AES256-GCM-SHA384

  • ECDHE-ECDSA-AES256-SHA

  • ECDHE-RSA-AES256-SHA

  • AES256-GCM-SHA384

  • AES256-SHA

mse.ingress.kubernetes.io/auth-tls-secret

Nama domain

Sebagian kompatibel. Formatnya harus (Nama rahasia tempat sertifikat domain disimpan)-cacert.

Menentukan sertifikat CA yang digunakan oleh gateway untuk memverifikasi sertifikat yang disediakan oleh klien selama jabat tangan mutual TLS (mTLS). Anotasi ini cocok untuk skenario di mana gateway perlu memverifikasi identitas klien.

Komunikasi terenkripsi antara gateway dan layanan backend

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/proxy-ssl-secret

Layanan

Kompatibel

Menentukan sertifikat klien yang digunakan oleh gateway. Sertifikat klien digunakan untuk layanan backend mengotentikasi gateway.

nginx.ingress.kubernetes.io/proxy-ssl-name

Layanan

Kompatibel

Menentukan Server Name Indication (SNI) yang digunakan selama jabat tangan TLS.

nginx.ingress.kubernetes.io/proxy-ssl-server-name

Layanan

Kompatibel

Menentukan apakah akan mengaktifkan SNI yang digunakan selama jabat tangan TLS.

Otentikasi

Dasar

Anotasi

Ruang lingkup

Status dukungan

Deskripsi

nginx.ingress.kubernetes.io/auth-type

Ingress

Sebagian kompatibel. Hanya tipe otentikasi dasar yang didukung.

Menentukan tipe otentikasi.

nginx.ingress.kubernetes.io/auth-secret

Ingress

Kompatibel

Menentukan nama dari sebuah rahasia. Formatnya harus <namespace>/<name>. Nama rahasia mencakup nama pengguna dan kata sandi yang diberikan akses ke rute yang ditentukan dalam aturan Ingress.

nginx.ingress.kubernetes.io/auth-secret-type

Ingress

Kompatibel

Menentukan format konten rahasia. Nilai valid:

  • auth-file: Kunci data adalah auth, dan nilai data adalah nama pengguna dan kata sandi. Informasi setiap akun menempati baris terpisah.

  • auth-map: Kunci data adalah nama pengguna dan nilai data adalah kata sandi.

nginx.ingress.kubernetes.io/auth-realm

Ingress

Kompatibel

Menentukan realm otentikasi. Nama pengguna dan kata sandi dibagikan dalam satu realm otentikasi.

Untuk informasi lebih lanjut tentang anotasi NGINX Ingress, lihat Anotasi.