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. |
Kode implementasi fitur MSE berbeda dari kode NGINX.
Variabel NGINX yang dikonfigurasikan dalam anotasi dan potongan kode NGINX Ingress di MSE tidak kompatibel dengan yang ada di NGINX.
Dalam NGINX Ingress Controller, anotasi
nginx.ingress.kubernetes.io/proxy-body-sizedigunakan 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 |
nginx.ingress.kubernetes.io/canary-by-header-value | Ingress | Kompatibel | Menentukan |
nginx.ingress.kubernetes.io/canary-by-header-pattern | Ingress | Kompatibel | Menentukan |
mse.ingress.kubernetes.io/canary-by-query | Ingress | Eksklusif MSE | Menentukan |
mse.ingress.kubernetes.io/canary-by-query-value | Ingress | Eksklusif MSE | Menentukan |
mse.ingress.kubernetes.io/canary-by-query-pattern | Ingress | Eksklusif MSE | Menentukan |
nginx.ingress.kubernetes.io/canary-by-cookie | Ingress | Kompatibel | Menentukan |
mse.ingress.kubernetes.io/canary-by-cookie-value | Ingress |
| Menentukan |
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 Catatan
|
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:9090Subset layanan
Anotasi | Ruang lingkup | Status dukungan | Deskripsi |
mse.ingress.kubernetes.io/service-subset | Ingress |
| Subset layanan cocok untuk skenario di mana satu layanan mengelola beberapa penyebaran. Subset layanan adalah subset pod layanan tempat permintaan diteruskan berdasarkan konfigurasi Ingress.
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 |
| Opsional. Anda dapat menggunakan anotasi ini dengan anotasi |
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 Penting Ketika permintaan diteruskan ke layanan fallback, jalur permintaan ditulis ulang sebagai garis miring (/). Perilaku ini konsisten dengan yang diimplementasikan di |
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. |
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
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
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
|
mse.ingress.kubernetes.io/mirror-percentage | Ingress |
| 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 |
| 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 Ketika pembatasan laju dipicu, isi badan respons adalah
|
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 Ketika pembatasan laju dipicu, isi badan respons adalah
|
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 |
| 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 |
| 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 |
| Menentukan format badan respons ketika pembatasan dipicu pada rute yang didefinisikan oleh Ingress. Nilai default: text.
|
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body | Ingress |
| 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 |
| 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 |
| 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 |
| 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 |
| Menentukan format badan respons ketika rute yang didefinisikan oleh Ingress memicu kontrol konkurensi. Nilai default: teks.
|
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body | Ingress |
| 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 |
| 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:
|
Pengimbangan beban
Anotasi | Ruang lingkup | Status dukungan | Deskripsi |
nginx.ingress.kubernetes.io/load-balance | Layanan | Sebagian kompatibel. Algoritma | Menentukan algoritma penyeimbangan beban umum yang digunakan oleh layanan backend. Nilai default adalah
|
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:
|
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 |
nginx.ingress.kubernetes.io/affinity-mode | Layanan | Sebagian kompatibel. Mode | Menentukan mode afinitas. Nilai default dan satu-satunya nilai valid adalah |
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 |
| 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:
|
mse.ingress.kubernetes.io/tls-max-protocol-version | Nama domain | Eksklusif MSE | Menentukan versi maksimum TLS. Kami menyarankan Anda mengatur parameter ini ke TLSv1.2. Nilai valid:
|
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:
|
mse.ingress.kubernetes.io/auth-tls-secret | Nama domain | Sebagian kompatibel. Formatnya harus (Nama rahasia tempat sertifikat domain disimpan) | 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 |
nginx.ingress.kubernetes.io/auth-secret-type | Ingress | Kompatibel | Menentukan format konten rahasia. Nilai valid:
|
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.