All Products
Search
Document Center

API Gateway:Anotasi yang didukung oleh APIG Ingress

Last Updated:Jun 04, 2026

APIG Ingress mendukung anotasi inti dan umum dari Nginx Ingress, memungkinkan migrasi yang mulus dari Nginx Ingress ke gateway APIG Ingress. Selain itu, APIG Ingress memperkenalkan anotasi tambahan untuk menyediakan kemampuan tata kelola lalu lintas yang tidak tersedia dalam anotasi Nginx Ingress. Topik ini menjelaskan anotasi yang saat ini didukung oleh APIG Ingress.

Ikhtisar fitur anotasi

Kubernetes Ingress standar hanya menyediakan routing dasar untuk lalu lintas HTTP Lapisan 7 dan enkripsi TLS. Controller Ingress biasanya menggunakan anotasi untuk memperluas kemampuan tata kelola lalu lintas dan perlindungan keamanan sebuah Ingress.

Status dukungan anotasi Ingress

Anotasi Nginx Ingress

Untuk membantu pengguna Nginx Ingress bermigrasi secara mulus ke APIG Ingress, APIG Ingress menyediakan dukungan luas terhadap anotasi Nginx Ingress. Tabel berikut menjelaskan status dukungannya.

Anotasi Nginx Ingress

Total didukung

Catatan

Anotasi yang didukung

51

Mencakup 90% skenario pengguna.

Anotasi yang tidak memengaruhi fitur

15

Tidak perlu konfigurasi.

Anotasi yang sementara tidak didukung

48

Dukungan sedang dalam proses. Anotasi ini digunakan dalam beberapa skenario saja.

Anotasi yang tidak didukung

5

Terutama melibatkan potongan kode spesifik Nginx.

Catatan

Higress dan Nginx memiliki implementasi yang berbeda, sehingga menghasilkan beberapa perbedaan:

  1. Konfigurasi yang menggunakan Variabel NGINX dan potongan kode dalam anotasi Nginx Ingress tidak kompatibel.

  2. Nginx Ingress menggunakan anotasi nginx.ingress.kubernetes.io/proxy-body-size untuk mengonfigurasi batas ukuran badan permintaan klien. Jika badan permintaan melebihi ukuran yang ditentukan, Nginx mengembalikan error. Gateway cloud-native Higress menggunakan streaming chunked dan tidak mengharuskan Anda menentukan ukuran badan permintaan di awal. Untuk transfer file besar, Anda dapat menyesuaikan parameter `DownstreamConnectionBufferLimits` dalam pengaturan parameter instans gateway.

Anotasi APIG Ingress

APIG Ingress memperkenalkan anotasi tambahan untuk menyediakan kemampuan administrasi yang tidak tersedia dalam anotasi Nginx Ingress. Tabel berikut menjelaskan status dukungan saat ini.

Anotasi Ingress APIG

Total didukung

Catatan

Anotasi yang Diperluas

40

Memperkuat fitur tata kelola lalu lintas dan perlindungan keamanan di luar kemampuan Nginx.

Definisi cakupan

  • Ingress: Anotasi dengan cakupan Ingress hanya berlaku untuk aturan routing yang didefinisikan dalam Ingress saat ini.

  • Nama domain: Anotasi dengan cakupan domain berlaku untuk host yang ditentukan dalam Ingress saat ini dan juga memengaruhi Ingress lain yang menentukan host yang sama.

  • Layanan: Anotasi dengan cakupan layanan berlaku untuk layanan yang ditentukan dalam Ingress saat ini dan juga memengaruhi Ingress lain yang menentukan layanan yang sama.

Awalan anotasi

APIG Ingress mendukung semua anotasi Nginx Ingress. Misalnya, nginx.ingress.kubernetes.io/xxx memiliki efek yang sama dengan higress.ingress.kubernetes.io/xxx. Anda dapat menggunakan awalan nginx atau higress. Namun, Anda tidak dapat menggunakan awalan nginx untuk anotasi yang unik pada APIG Ingress.

Rangkuman dukungan anotasi

Topik ini mencakup dua modul utama: tata kelola lalu lintas dan perlindungan keamanan.

Tata kelola lalu lintas

Rilis canary

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/canary

Ingress

Kompatibel

Mengaktifkan atau menonaktifkan rilis canary.

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

Ingress

Kompatibel

Membagi lalu lintas berdasarkan Request Header Key.

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

Ingress

Kompatibel

Membagi lalu lintas berdasarkan Request Header Value. Nilainya harus cocok persis.

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

Ingress

Kompatibel

Membagi lalu lintas berdasarkan Request Header Value. Nilainya dicocokkan menggunakan ekspresi reguler.

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

Ingress

Ekstensi Higress

Membagi lalu lintas berdasarkan URL Query Parameter.

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

Ingress

Ekstensi Higress

Membagi lalu lintas berdasarkan URL Query Parameter. Nilainya harus cocok persis.

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

Ingress

Ekstensi Higress

Membagi lalu lintas berdasarkan URL Query Parameter. Nilainya dicocokkan menggunakan ekspresi reguler.

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

Ingress

Kompatibel

Membagi lalu lintas berdasarkan Request Cookie Key.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.30

Membagi lalu lintas berdasarkan Request Cookie Value. Nilainya harus cocok persis.

nginx.ingress.kubernetes.io/canary-weight

Ingress

Kompatibel

Membagi lalu lintas berdasarkan bobot.

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

Ingress

Kompatibel

Jumlah total bobot.

Layanan ganda

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

higress.ingress.kubernetes.io/destination

Ingress

Ekstensi Higress

Mengonfigurasi distribusi layanan berbasis bobot untuk suatu rute.

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

Catatan
  • Setelah Anda mengonfigurasi anotasi ini, layanan tujuan untuk semua aturan routing dalam Ingress diubah menjadi layanan yang ditentukan oleh anotasi ini.

  • Jika sintaks konfigurasi anotasi ini tidak valid, anotasi tersebut diabaikan. Layanan tujuan untuk semua aturan routing dalam Ingress tidak diubah.

Contoh sintaks:

annotations:
  # 60% trafik diarahkan ke layanan foo, dan 40% ke layanan bar.
  higress.ingress.kubernetes.io/destination: |
    60% foo.default.svc.cluster.local:8080
    40% bar.default.svc.cluster.local:9090

Subset layanan

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

higress.ingress.kubernetes.io/service-subset

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Berlaku untuk skenario di mana satu layanan mengelola beberapa penerapan. Menentukan bahwa rute yang didefinisikan oleh Ingress diteruskan ke subset pod di bawah layanan ini.

  • Jika anotasi subset-labels tidak dikonfigurasi, nilai anotasi ini memiliki makna sebagai berikut:

    • Jika nilainya adalah "" atau base, permintaan diteruskan ke kumpulan pod yang memiliki label `opensergo.io/canary: ""` atau tidak memiliki kunci label dengan awalan `opensergo.io/canary`. Ini mencakup pod dengan label kosong dan pod tanpa label.

    • Jika nilainya diatur ke nilai lain, permintaan diteruskan ke kumpulan pod yang memiliki label `opensergo.io/canary-{value}: "{value}"`. Misalnya, jika nilainya `gray`, permintaan diteruskan ke kumpulan pod yang memiliki label `opensergo.io/canary-gray: gray`.

  • Jika anotasi subset-labels dikonfigurasi, permintaan hanya diteruskan ke kumpulan pod yang memiliki pasangan kunci-nilai yang didefinisikan dalam anotasi subset-labels.

Catatan

Jika layanan tidak memiliki pod dengan label yang ditentukan, lalu lintas secara otomatis diarahkan ke semua pod di bawah layanan tersebut untuk pemulihan bencana.

higress.ingress.kubernetes.io/subset-labels

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Opsional. Anotasi ini bekerja bersama service-subset untuk secara eksplisit mengonfigurasi label mana yang termasuk dalam subset pod yang sama.

Fallback (pemulihan bencana)

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/default-backend

Ingress

Kompatibel

Layanan pemulihan bencana. Ketika layanan yang didefinisikan dalam Ingress tidak memiliki node aktif, permintaan secara otomatis diteruskan ke layanan pemulihan bencana ini.

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

Ingress

Kompatibel

Anotasi ini bekerja bersama default-backend. Ketika layanan backend mengembalikan kode respons HTTP tertentu, permintaan asli diteruskan lagi ke layanan pemulihan bencana.

Penting

Ketika permintaan diteruskan ke layanan pemulihan bencana, path permintaan ditulis ulang menjadi /, yang konsisten dengan perilaku ingress-nginx.

Pencocokan regex

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/use-regex

Ingress

Kompatibel

Pencocokan regex. Menunjukkan bahwa path yang didefinisikan dalam Ingress dicocokkan menggunakan ekspresi reguler. Ekspresi reguler menggunakan sintaks RE2.

Menulis ulang

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/rewrite-target

Ingress

Kompatibel

Menulis ulang path asli yang didefinisikan dalam Ingress ke target yang ditentukan. Mendukung Group Capture.

nginx.ingress.kubernetes.io/upstream-vhost

Ingress

Kompatibel

Ketika permintaan yang sesuai dengan rute yang didefinisikan dalam Ingress diteruskan ke layanan backend, header Host diubah ke nilai yang ditentukan.

Pengalihan

Catatan

Kumpulan fitur Nginx dan Nginx Ingress berbeda. Nginx menyediakan jangkauan fitur yang lebih luas. Dokumentasi resmi Nginx Ingress tidak menyebutkan dukungan untuk pengalihan yang menggunakan Variabel NGINX. Meskipun beberapa versi Nginx Ingress mungkin mendukung konfigurasi Variabel NGINX, penggunaannya dapat menyebabkan masalah kompatibilitas karena fitur ini tidak didokumentasikan secara resmi. Kami menyarankan agar Anda tidak menggunakan Variabel NGINX dalam Nginx Ingress.

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/ssl-redirect

Ingress

Kompatibel

Mengalihkan HTTP ke HTTPS.

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

Ingress

Kompatibel

Mengalihkan HTTP ke HTTPS.

nginx.ingress.kubernetes.io/permanent-redirect

Ingress

Kompatibel

Pengalihan permanen.

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

Ingress

Kompatibel

Kode status untuk pengalihan permanen.

nginx.ingress.kubernetes.io/temporal-redirect

Ingress

Kompatibel

Pengalihan sementara.

nginx.ingress.kubernetes.io/app-root

Ingress

Kompatibel

Mengubah path root aplikasi. Permintaan ke / dialihkan ke path baru.

Lintas domain

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/enable-cors

Ingress

Kompatibel

Mengaktifkan atau menonaktifkan akses lintas domain.

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

Ingress

Kompatibel

Situs pihak ketiga yang diizinkan.

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

Ingress

Kompatibel

Metode permintaan yang diizinkan, seperti GET, POST, dan PUT.

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

Ingress

Kompatibel

Header permintaan yang diizinkan.

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

Ingress

Kompatibel

Header respons yang diizinkan untuk diekspos ke browser.

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

Ingress

Kompatibel

Menentukan apakah kredensial boleh dibawa.

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

Ingress

Kompatibel

Durasi cache maksimum untuk hasil preflight.

Kontrol header

Catatan

Anotasi kontrol header yang didefinisikan pada rute standar tidak berlaku untuk rute canary. Anotasi kontrol header yang didefinisikan pada rute standar dan canary bersifat independen dan berlaku secara terpisah, memungkinkan Anda menetapkan kebijakan operasi header yang berbeda untuk rute standar dan canary.

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Ingress

Ekstensi Higress

Menambahkan header yang ditentukan saat permintaan diteruskan ke layanan backend. Jika header sudah ada, nilainya ditambahkan ke nilai asli. Sintaksnya adalah sebagai berikut:

  • Header tunggal: Key Value.

  • Beberapa header: Gunakan karakter khusus YAML | untuk menempatkan setiap pasangan kunci-nilai pada baris terpisah.

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

Ingress

Ekstensi Higress

Mengubah header yang ditentukan saat permintaan diteruskan ke layanan backend. Jika header sudah ada, nilainya menimpa nilai asli. Sintaksnya adalah sebagai berikut:

  • Header tunggal: Key Value.

  • Beberapa header: Gunakan karakter khusus YAML | untuk menempatkan setiap pasangan kunci-nilai pada baris terpisah.

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

Ingress

Ekstensi Higress

Menghapus header yang ditentukan saat permintaan diteruskan ke layanan backend. Sintaksnya adalah sebagai berikut:

  • Header tunggal: Key.

  • Beberapa header: Pisahkan dengan koma (,).

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

Ingress

Ekstensi Higress

Menambahkan header yang ditentukan sebelum meneruskan respons dari layanan backend ke klien. Jika header sudah ada, nilainya ditambahkan ke nilai asli. Sintaksnya adalah sebagai berikut:

  • Header tunggal: Key Value.

  • Beberapa header: Gunakan karakter khusus YAML | untuk menempatkan setiap pasangan kunci-nilai pada baris terpisah.

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

Ingress

Ekstensi Higress

Mengubah header yang ditentukan sebelum meneruskan respons dari layanan backend ke klien. Jika header sudah ada, nilainya menimpa nilai asli. Sintaksnya adalah sebagai berikut:

  • Header tunggal: Key Value.

  • Beberapa header: Gunakan karakter khusus YAML | untuk menempatkan setiap pasangan kunci-nilai pada baris terpisah.

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

Ingress

Ekstensi Higress

Menghapus header yang ditentukan sebelum meneruskan respons dari layanan backend ke klien. Sintaksnya adalah sebagai berikut:

  • Header tunggal: Key.

  • Beberapa header: Pisahkan dengan koma (,).

Timeout

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

higress.ingress.kubernetes.io/timeout

Ingress

Ekstensi Higress

Periode timeout permintaan dalam detik. Secara default, tidak ada periode timeout yang dikonfigurasi.

Catatan

Pengaturan timeout berlaku untuk lapisan aplikasi, bukan TCP pada lapisan transport.

Retry

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Ingress

Kompatibel

Jumlah maksimum retry untuk suatu permintaan. Nilai default adalah 3.

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

Ingress

Kompatibel

Periode timeout untuk retry permintaan dalam detik. Secara default, tidak ada periode timeout yang dikonfigurasi.

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

Ingress

Kompatibel

Kondisi untuk melakukan retry permintaan. Untuk informasi selengkapnya, lihat mekanisme retry Nginx.

Mirror lalu lintas

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Ingress

Ekstensi Higress

Menyalin dan meneruskan lalu lintas ke layanan mirror yang ditentukan. Format layanan adalah namespace/name:port.

  • namespace: Namespace tempat layanan Kubernetes berada. Ini opsional. Nilai default adalah namespace dari Ingress.

  • name: Nama layanan Kubernetes. Ini wajib.

  • port: Port layanan Kubernetes tempat lalu lintas diteruskan. Ini opsional. Nilai default adalah port pertama.

higress.ingress.kubernetes.io/mirror-percentage

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.32

Persentase lalu lintas yang disalin. Nilainya berkisar antara 0 hingga 100. Nilai default adalah 100.

Alias nama domain

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/server-alias

Nama domain

  • Sebagian kompatibel (hanya nama domain yang cocok persis dan wildcard yang didukung)

  • Memerlukan versi gateway 1.2.30

Menentukan alias untuk nama domain yang muncul dalam spesifikasi Ingress. Alias nama domain berbagi konfigurasi TLS, routing, dan tata kelola lalu lintas dari nama domain sumber.

Pembatasan kecepatan instans tunggal (akan ditinggalkan)

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Ingress

Ekstensi Higress

Jumlah maksimum permintaan per menit untuk rute yang didefinisikan oleh Ingress ini pada setiap instans gateway. Jumlah maksimum permintaan instan adalah nilai ini dikalikan dengan limit-burst-multiplier.

Ketika pembatasan kecepatan dipicu, badan respons adalah local_rate_limited. Kode status respons adalah sebagai berikut:

  • Untuk versi gateway sebelum 1.2.23: Kode status adalah 503.

  • Untuk versi gateway 1.2.23 dan seterusnya: Kode status adalah 429.

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

Ingress

Ekstensi Higress

Jumlah maksimum permintaan per detik untuk rute yang didefinisikan oleh Ingress ini pada setiap instans gateway. Jumlah maksimum permintaan instan adalah nilai ini dikalikan dengan limit-burst-multiplier.

Ketika pembatasan kecepatan dipicu, badan respons adalah local_rate_limited. Kode status respons adalah sebagai berikut:

  • Untuk versi gateway sebelum 1.2.23: Kode status adalah 503.

  • Untuk versi gateway 1.2.23 dan seterusnya: Kode status adalah 429.

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

Ingress

Ekstensi Higress

Faktor untuk jumlah maksimum permintaan instan. Nilai default adalah 5.

Pembatasan kecepatan global (direkomendasikan)

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

higress.ingress.kubernetes.io/rate-limit

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Pembatasan kecepatan global untuk rute yang didefinisikan oleh Ingress ini pada instans gateway, yaitu jumlah maksimum permintaan per detik.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Kode status respons ketika pembatasan kecepatan dipicu untuk rute yang didefinisikan oleh Ingress ini. Nilai default adalah 429.

Catatan

Anotasi ini saling eksklusif dengan rate-limit-fallback-redirect-url. Anda dapat memilih antara respons kustom atau pengalihan.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Format badan respons ketika pembatasan kecepatan dipicu untuk rute yang didefinisikan oleh Ingress ini. Nilai default adalah text.

  • Jika diatur ke text: Content-Type respons adalah text/plain; charset=UTF-8.

  • Jika diatur ke JSON: Content-Type respons adalah application/json; charset=UTF-8.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Badan respons ketika pembatasan kecepatan dipicu untuk rute yang didefinisikan oleh Ingress ini. Nilai default adalah `sentinel rate limited`.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Alamat pengalihan ketika pembatasan kecepatan dipicu untuk rute yang didefinisikan oleh Ingress ini.

Catatan

Anotasi ini saling eksklusif dengan rate-limit-fallback-custom-response-code. Anda dapat memilih antara pengalihan atau respons kustom.

Kontrol konkurensi global

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

higress.ingress.kubernetes.io/concurrency-limit

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Kontrol konkurensi global untuk rute yang didefinisikan oleh Ingress ini pada instans gateway, yaitu jumlah maksimum permintaan instan yang sedang diproses.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Kode status respons ketika kontrol konkurensi dipicu untuk rute yang didefinisikan oleh Ingress ini. Nilai default adalah 429.

Catatan

Anotasi ini saling eksklusif dengan concurrency-limit-fallback-redirect-url. Anda dapat memilih antara respons kustom atau pengalihan.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Format badan respons ketika kontrol konkurensi dipicu untuk rute yang didefinisikan oleh Ingress ini. Nilai default adalah text.

  • Jika diatur ke text: Content-Type respons adalah text/plain; charset=UTF-8.

  • Jika diatur ke JSON: Content-Type respons adalah application/json; charset=UTF-8.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Badan respons ketika kontrol konkurensi dipicu untuk rute yang didefinisikan oleh Ingress ini. Nilai default adalah `sentinel rate limited`.

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

Ingress

  • Ekstensi Higress

  • Memerlukan versi gateway 1.2.25

Alamat pengalihan ketika kontrol konkurensi dipicu untuk rute yang didefinisikan oleh Ingress ini.

Catatan

Anotasi ini saling eksklusif dengan concurrency-limit-fallback-custom-response-code. Anda dapat memilih antara pengalihan atau respons kustom.

Protokol yang digunakan oleh layanan backend

Anotasi

Cakupan

Tingkat 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 adalah HTTP. Nilai yang didukung adalah:

  • HTTP

  • HTTP2

  • HTTPS

  • gRPC

  • gRPCS

Load balancing

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/load-balance

Layanan

Sebagian kompatibel. Algoritma ewma tidak didukung. Jika diatur ke algoritma EWMA, sistem akan kembali menggunakan algoritma round_robin.

Algoritma penyeimbangan beban standar untuk layanan backend. Nilai default adalah round_robin. Nilai yang valid adalah:

  • round_robin: Penyeimbangan beban round-robin.

  • least_conn: Penyeimbangan beban least-connections.

  • random: Penyeimbangan beban acak.

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

Layanan

Sebagian kompatibel. Penggunaan gabungan Variabel NGINX dan konstanta tidak didukung.

Algoritma penyeimbangan beban hashing konsisten. APIG Ingress mendukung bentuk-bentuk berikut:

  • APIG Ingress mendukung konfigurasi beberapa Variabel NGINX:

    • $request_uri: URI permintaan (termasuk parameter path) digunakan sebagai kunci hash.

    • $host: Host permintaan digunakan sebagai kunci hash.

    • $remote_addr: Alamat IP klien permintaan digunakan sebagai kunci hash.

  • Hashing konsisten berdasarkan header permintaan. Konfigurasikan sebagai $http_headerName.

  • Hashing konsisten berdasarkan parameter path permintaan. Konfigurasikan sebagai $arg_varName.

Pra-ambil layanan (mulai mulus)

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

higress.ingress.kubernetes.io/warmup

Layanan

Ekstensi Higress

Periode ramp-up layanan dalam detik. Fitur ini dinonaktifkan secara default.

Penting

Pra-ambil layanan bergantung pada algoritma penyeimbangan beban yang dipilih. Saat ini, hanya round_robin dan least_conn yang didukung.

Afinitas cookie

Anotasi

Fungsi

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/affinity

Layanan

Kompatibel

Jenis afinitas. Saat ini, hanya Cookie yang didukung. Nilai default adalah cookie.

nginx.ingress.kubernetes.io/affinity-mode

Layanan

Sebagian kompatibel. Mode persistent tidak didukung.

Mode afinitas. APIG Ingress saat ini hanya mendukung mode Balanced. Nilai default adalah mode balanced.

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

Layanan

Kompatibel

Mengonfigurasi nilai cookie tertentu sebagai kunci hash.

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

Layanan

Kompatibel

Nilai path untuk cookie yang dihasilkan ketika cookie yang ditentukan tidak ada. Nilai default adalah /.

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

Layanan

Kompatibel

Waktu hidup (TTL) cookie yang dihasilkan ketika cookie yang ditentukan tidak ada. Satuannya adalah detik. Nilai default adalah tingkat sesi.

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

Layanan

Kompatibel

Waktu hidup (TTL) cookie yang dihasilkan ketika cookie yang ditentukan tidak ada. Satuannya adalah detik. Nilai default adalah tingkat sesi.

Kontrol akses IP

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Ingress

Kompatibel

Menentukan daftar putih alamat IP untuk rute. Mendukung alamat IP atau Blok CIDR, dipisahkan dengan koma (,).

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

Ingress

  • Kompatibel

  • Memerlukan versi gateway 1.2.31

Menentukan daftar hitam IP untuk rute. Mendukung alamat IP atau Blok CIDR, dipisahkan dengan koma (,).

Catatan

Anotasi ini memiliki prioritas lebih tinggi daripada anotasi ekstensi Higress higress.ingress.kubernetes.io/blacklist-source-range.

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

Ingress

Ekstensi Higress

Menentukan daftar hitam IP untuk rute. Mendukung alamat IP atau Blok CIDR, dipisahkan dengan koma (,).

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

Ingress

Ekstensi Higress

Menentukan daftar putih alamat IP untuk nama domain. Nama domain memiliki prioritas lebih rendah daripada tingkat rute. Mendukung alamat IP atau Blok CIDR, dipisahkan dengan koma (,).

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

Ingress

Ekstensi Higress

Menentukan daftar hitam IP untuk nama domain. Nama domain memiliki prioritas lebih rendah daripada tingkat rute. Mendukung alamat IP atau Blok CIDR, dipisahkan dengan koma (,).

Konfigurasi pool koneksi antara gateway dan layanan backend

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Layanan

Ekstensi Higress

Jumlah maksimum koneksi yang dapat dibuat antara gateway dan layanan backend.

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

Layanan

Ekstensi Higress

Jumlah maksimum koneksi yang dapat dibuat antara gateway dan satu node layanan backend.

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

Layanan

Ekstensi Higress

Jumlah maksimum permintaan pada satu koneksi antara gateway dan layanan backend.

Perlindungan keamanan

Komunikasi terenkripsi antara klien dan gateway

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Nama domain

Ekstensi Higress

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

  • TLSv1.0

  • TLSv1.1

  • TLSv1.2

  • TLSv1.3

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

Nama domain

Ekstensi Higress

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

  • TLSv1.0

  • TLSv1.1

  • TLSv1.2

  • TLSv1.3

nginx.ingress.kubernetes.io/ssl-cipher

Nama domain

Kompatibel

Menentukan paket sandi TLS. Anda dapat menentukan beberapa paket sandi yang dipisahkan dengan titik dua (:). Ini hanya berlaku ketika TLSv1.0-1.2 digunakan untuk Proses jabat tangan TLS.

Paket sandi default adalah:

  • 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

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

Nama domain

Sebagian kompatibel. Nama secret harus dalam format: (nama secret tempat sertifikat nama domain berada)-cacert.

Sertifikat CA yang digunakan oleh gateway untuk memverifikasi sertifikat yang disediakan oleh klien selama jabat tangan mTLS. Anotasi ini terutama digunakan dalam skenario di mana gateway perlu memverifikasi identitas klien.

Komunikasi terenkripsi antara gateway dan layanan backend

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

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

Layanan

Kompatibel

Sertifikat klien yang digunakan oleh gateway untuk otentikasi identitas oleh layanan backend.

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

Layanan

Kompatibel

SNI yang digunakan selama Proses jabat tangan TLS.

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

Layanan

Kompatibel

Mengaktifkan atau menonaktifkan SNI yang digunakan selama Proses jabat tangan TLS.

Otentikasi

Basic

Anotasi

Cakupan

Tingkat dukungan

Deskripsi

nginx.ingress.kubernetes.io/auth-type

Ingress

Sebagian kompatibel. Hanya Basic yang didukung.

Jenis otentikasi.

nginx.ingress.kubernetes.io/auth-secret

Ingress

Kompatibel

Nama secret. Format <namespace>/<name> didukung. Berisi username dan password pengguna yang diberikan hak akses ke rute yang didefinisikan pada Ingress ini.

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

Ingress

Kompatibel

Format konten secret.

  • auth-file: Kunci dalam Data adalah `auth`, dan nilainya adalah username dan password. Beberapa akun dipisahkan dengan carriage return.

  • auth-map: Kunci dalam Data adalah username, dan nilainya adalah password.

nginx.ingress.kubernetes.io/auth-realm

Ingress

Kompatibel

Domain proteksi. Domain proteksi yang sama berbagi username dan password.

Untuk informasi selengkapnya tentang anotasi Nginx Ingress, lihat dokumentasi resmi.