Anda dapat menggunakan resource kustom AlbConfig untuk menyesuaikan konfigurasi instance ALB. Topik ini menjelaskan semua anotasi Ingress dan field AlbConfig yang didukung, lengkap dengan deskripsi serta penggunaannya.
Indeks
Field anotasi
Kategori fitur | Konfigurasi anotasi Ingress |
YAML anotasi | |
Konfigurasi ALB Ingress | |
Konfigurasi listener atau protokol | |
Konfigurasi aturan pengalihan trafik | |
Konfigurasi lanjutan | |
Lainnya |
Field AlbConfig
Kategori Bidang | Tautan field |
YAML AlbConfig | |
AlbConfig | |
Instance ALB | |
Konfigurasi listener | |
Virtual switch | |
Simple Log Service | |
Pendengar QUIC | |
Konfigurasi sertifikat | |
Kontrol akses | |
Analisis Tracing | |
Konfigurasi X-Forwarded- | |
Header kustom dalam log | |
Field yang dicadangkan |
Contoh YAML anotasi
Contoh berikut menunjukkan cara menggunakan anotasi untuk mengonfigurasi instance ALB dalam resource Ingress. Untuk detail setiap anotasi, lihat bagian selanjutnya.
Anotasi yang didukung oleh Ingress
Anda dapat menambahkan anotasi ke resource Ingress sesuai kebutuhan.
Pemeriksaan kesehatan
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/healthcheck-enabled | Aktifkan pemeriksaan kesehatan untuk grup server backend. Untuk contoh konfigurasi, lihat Konfigurasikan pemeriksaan kesehatan.
Default: |
alb.ingress.kubernetes.io/healthcheck-path | Path pemeriksaan kesehatan. Default: |
alb.ingress.kubernetes.io/healthcheck-protocol | Protokol yang digunakan untuk pemeriksaan kesehatan.
Default: |
alb.ingress.kubernetes.io/healthcheck-httpversion | Versi HTTP. Berlaku hanya ketika
Default: |
alb.ingress.kubernetes.io/healthcheck-method | Metode pemeriksaan kesehatan.
Default: Penting Pilih |
alb.ingress.kubernetes.io/healthcheck-httpcode | Kode status pemeriksaan kesehatan. Server backend dianggap sehat hanya jika permintaan probe berhasil dan mengembalikan salah satu kode status ini. Masukkan satu atau beberapa opsi berikut, dipisahkan koma:
Default: |
alb.ingress.kubernetes.io/healthcheck-code | Kode status pemeriksaan kesehatan. Server backend dianggap sehat hanya jika permintaan probe berhasil dan mengembalikan salah satu kode status ini. Jika kedua field Nilai valid tergantung pada nilai
|
alb.ingress.kubernetes.io/healthcheck-timeout-seconds | Periode timeout pemeriksaan kesehatan, dalam detik (s). Rentang: [1, 300]. Default: |
alb.ingress.kubernetes.io/healthcheck-interval-seconds | Interval antar pemeriksaan kesehatan, dalam detik (s). Rentang: [1, 50]. Default: |
alb.ingress.kubernetes.io/healthy-threshold-count | Jumlah pemeriksaan kesehatan yang berhasil yang diperlukan untuk menandai server backend sebagai sehat. Rentang: [2, 10]. Default: |
alb.ingress.kubernetes.io/unhealthy-threshold-count | Jumlah pemeriksaan kesehatan yang gagal yang diperlukan untuk menandai server backend sebagai tidak sehat. Rentang: [2, 10]. Default: |
alb.ingress.kubernetes.io/healthcheck-connect-port | Port yang digunakan untuk pemeriksaan kesehatan. Default: Catatan
|
Pengalihan
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/ssl-redirect | Arahkan permintaan HTTP ke HTTPS (port 443) menggunakan kode status HTTP 308. Untuk contoh konfigurasi, lihat Konfigurasikan pengalihan HTTP ke HTTPS.
Default: |
Protokol yang digunakan oleh layanan backend
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/backend-protocol | Protokol yang digunakan oleh grup server backend. Untuk contoh konfigurasi, lihat Dukungan untuk protokol HTTPS dan gRPC pada server backend.
Default: Catatan Protokol backend yang didukung per jenis listener:
|
Menulis ulang
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/rewrite-target | Path target untuk penulisan ulang path. Untuk contoh konfigurasi, lihat Menulis ulang path. |
Listener
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/listen-ports | Port dan protokol untuk listener yang terkait dengan resource Ingress. Untuk contoh konfigurasi, lihat Konfigurasikan port listener kustom. Tentukan protokol dan port listener yang ingin Anda kaitkan dengan aturan Ingress (contoh di bawah):
|
Mulai lambat
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/slow-start-enabled | Aktifkan mulai lambat. Saat diaktifkan, ALB Ingress secara bertahap mengalihkan trafik ke pod yang baru ditambahkan di backend Service. Hal ini menghindari lonjakan CPU dan memori selama startup pod. Untuk contoh konfigurasi, lihat Mulai lambat backend.
Default: dinonaktifkan. |
alb.ingress.kubernetes.io/slow-start-duration | Waktu, dalam detik (s), agar trafik meningkat secara bertahap setelah mulai lambat selesai. Durasi yang lebih lama berarti peningkatan yang lebih lambat. Rentang: [30, 900]. Default: |
Prioritas
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/order | Prioritas relatif aturan pengalihan. Angka yang lebih kecil menunjukkan prioritas lebih tinggi. Untuk contoh konfigurasi, lihat Konfigurasikan prioritas aturan pengalihan. Rentang: [1, 1000]. Default: |
Rilis bertahap
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/canary | Aktifkan rilis bertahap canary. Untuk petunjuk langkah demi langkah, lihat Implementasikan rilis bertahap dengan ALB Ingress.
Default: |
alb.ingress.kubernetes.io/canary-by-header | Header permintaan yang digunakan untuk memicu routing canary. |
alb.ingress.kubernetes.io/canary-by-header-value | Nilai header yang memicu routing canary. |
alb.ingress.kubernetes.io/canary-by-cookie | Cookie yang digunakan untuk memicu routing canary. |
alb.ingress.kubernetes.io/canary-weight | Persentase permintaan yang diarahkan ke layanan tertentu (bilangan bulat dari 0 hingga 100). Untuk petunjuk langkah demi langkah, lihat Bobot canary. |
Persistensi sesi
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/sticky-session | Aktifkan persistensi sesi untuk grup server backend. Untuk contoh konfigurasi, lihat Aktifkan persistensi sesi dengan anotasi.
Default: |
alb.ingress.kubernetes.io/sticky-session-type | Jenis persistensi sesi.
Default: |
alb.ingress.kubernetes.io/cookie-timeout | Periode timeout persistensi sesi, dalam detik (s). Rentang: [1, 86400]. Default: |
alb.ingress.kubernetes.io/cookie | Nilai cookie kustom. Jenis: string. Default: |
Pengurasan koneksi
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/connection-drain-enabled | Aktifkan pengurasan koneksi. Saat diaktifkan, ALB Ingress mempertahankan aliran trafik normal untuk periode tertentu setelah pod backend memasuki status Terminating atau gagal dalam pemeriksaan kesehatan. Setelah timeout berakhir, koneksi terputus. Hal ini mencegah gangguan bisnis akibat penghapusan backend yang tiba-tiba. Untuk detailnya, lihat Pengurasan koneksi.
Default: dinonaktifkan. |
alb.ingress.kubernetes.io/connection-drain-timeout | Periode timeout pengurasan koneksi, dalam detik (s). Rentang: [0, 900]. Default: |
Penyeimbangan beban
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/backend-scheduler | Algoritma penyeimbangan beban untuk grup server backend. Untuk contoh konfigurasi, lihat Tentukan algoritma penyeimbangan beban untuk grup server backend.
Default: |
alb.ingress.kubernetes.io/backend-scheduler-uch-value | Parameter hash URL yang digunakan ketika algoritma penyeimbangan beban adalah uch. |
Lintas domain
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/enable-cors | Aktifkan konfigurasi Berbagi Sumber Daya Lintas Asal (CORS). Untuk contoh konfigurasi, lihat Konfigurasi CORS.
Default: |
alb.ingress.kubernetes.io/cors-allow-origin | Asal yang diizinkan mengirim permintaan lintas domain. Default: |
alb.ingress.kubernetes.io/cors-expose-headers | Daftar header yang diekspos ke klien. |
alb.ingress.kubernetes.io/cors-allow-methods | Metode HTTP yang diizinkan untuk permintaan lintas domain. Masukkan satu atau beberapa opsi berikut:
Default: |
alb.ingress.kubernetes.io/cors-allow-credentials | Izinkan kredensial dalam permintaan lintas domain.
Default: |
alb.ingress.kubernetes.io/cors-max-age | Waktu maksimum, dalam detik (s), bahwa respons preflight disimpan dalam cache di browser. Rentang: [-1, 172800]. Default: Catatan
|
alb.ingress.kubernetes.io/cors-allow-headers | Daftar header yang diizinkan dalam permintaan lintas domain. Default: |
Pengalihan kustom
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/actions.{svcName} | Aksi pengalihan kustom. Untuk petunjuk langkah demi langkah, lihat Tentukan aturan pengalihan kustom untuk ALB Ingress. |
alb.ingress.kubernetes.io/conditions.{svcName} | Kondisi pengalihan kustom. |
alb.ingress.kubernetes.io/rule-direction.{svcName} | Arah pengalihan kustom.
Default: |
Lampiran IPv6 untuk grup server backend
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/enable-ipv6 | Aktifkan lampiran IPv6 untuk grup server backend. Untuk contoh konfigurasi, lihat Lampirkan alamat IPv6 ke grup server backend.
Default: |
Lainnya
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/backend-keepalive | Aktifkan koneksi persisten ke server backend. Untuk contoh konfigurasi, lihat Koneksi persisten ke server backend. Default: |
alb.ingress.kubernetes.io/traffic-limit-qps | Pembatasan laju permintaan per detik (QPS). Rentang: [1, 1000000]. |
alb.ingress.kubernetes.io/use-regex | Izinkan ekspresi reguler dalam field Path. Berlaku hanya untuk jenis path Prefix. Default: |
Field AlbConfig
Resource kustom AlbConfig mendeskripsikan instance ALB beserta listener-nya. Bagian ini menyediakan contoh AlbConfig lengkap. Untuk detail setiap field, lihat bagian selanjutnya.
AlbConfig
Field | Data type | Description |
apiVersion | Fixed value | APIVersion menentukan skema versi untuk objek ini. Nilai tetap: |
kind | Fixed value | Kind menunjukkan resource REST yang diwakili oleh objek ini. Nilai tetap: |
metadata | Metadata standar untuk objek. Untuk informasi selengkapnya, lihat metadata. | |
spec | Daftar parameter yang menjelaskan properti instans ALB dan listener. | |
status | Setelah reconciliation, status instans ditulis ke |
AlbConfigSpec
Field | Jenis data | Deskripsi |
config | Properti instance ALB. | |
listeners | Properti listener di bawah instance. |
LoadBalancerSpec
Field | Jenis data | Deskripsi |
id | string | ID instance ALB. Isi untuk mengaktifkan mode reuse. Biarkan kosong agar controller membuat instance ALB baru. Untuk petunjuk langkah demi langkah, lihat Buat AlbConfig. Default: |
name | string | Nama instance ALB. Default: Dihasilkan otomatis menggunakan pola ini: |
addressAllocatedMode | enum | Mode alokasi alamat untuk instance ALB.
Default: |
addressType | enum | Jenis alamat IPv4 untuk instance ALB.
Default: |
ipv6AddressType | enum | Jenis alamat IPv6 untuk instance ALB. Tidak perlu sesuai dengan jenis alamat IPv4.
Default: |
addressIpVersion | enum | Apakah instance ALB mendukung dual-stack.
Default: |
resourceGroupId | string | ID kelompok sumber daya yang memiliki instance. Default: |
edition | enum | Edisi fitur instance. Anda tidak dapat mengubah edisi dalam mode reuse.
Default: |
deletionProtectionEnabled | bool | Field yang dicadangkan. Jangan ubah. |
forceOverride | bool | Paksa timpa properti instance dalam mode reuse.
Default: |
listenerForceOverride | bool | Paksa timpa properti listener dalam mode reuse.
Default: |
zoneMappings | Zona dan konfigurasi EIP. | |
accessLogConfig | Pengumpulan log. | |
billingConfig | Metode penagihan. | |
modificationProtectionConfig | Mode read-only konfigurasi. | |
tags | Tag instance. | |
securityGroupIds | string[] | ID security group untuk instance ALB. Untuk detailnya, lihat Konfigurasikan security group dengan AlbConfig. |
ZoneMapping
Field | Jenis data | Deskripsi |
vSwitchId | string | (Wajib) ID virtual switch. Default: |
zoneId | string | Zona virtual switch. Pertahankan nilai default. Default: |
allocationId | string | ID Elastic IP (EIP). Untuk contoh konfigurasi, lihat Konfigurasikan instance ALB dengan AlbConfig. Default: |
eipType | string | Field yang dicadangkan. Jangan ubah. |
AccessLogConfig
Field | Jenis data | Deskripsi |
logProject | string | Nama proyek Simple Log Service. Default: |
logStore | string | Nama penyimpanan log Simple Log Service. Harus dimulai dengan Default: |
BillingConfig
Field | Jenis data | Deskripsi |
internetBandwidth | int | Field yang dicadangkan. Jangan ubah. |
internetChargeType | string | Field yang dicadangkan. Jangan ubah. |
payType | enum | Field yang dicadangkan. Jangan ubah. |
bandWidthPackageId | string | ID paket Bandwidth Internet Bersama yang akan dilampirkan. Anda tidak dapat melepas setelah melampirkan. Untuk contoh konfigurasi, lihat Konfigurasi paket Bandwidth Internet Bersama. Default: |
ModificationProtectionConfig
Field | Jenis data | Deskripsi |
reason | string | Field yang dicadangkan. |
status | string | Field yang dicadangkan. |
Tag
Field | Jenis data | Deskripsi |
key | string | Kunci tag. Default: |
value | string | Nilai tag. Default: |
ListenerSpec
Field | Jenis data | Deskripsi |
gzipEnabled | bool | Aktifkan kompresi data. Untuk contoh konfigurasi, lihat Gunakan kompresi data.
Default: |
http2Enabled | bool | Aktifkan protokol HTTP/2.
Default: |
port | int | (Wajib) Port yang digunakan oleh listener. Default: |
protocol | enum | (Wajib) Protokol yang digunakan oleh listener.
|
securityPolicyId | string | ID kebijakan keamanan TLS. Default: |
idleTimeout | int | Periode timeout koneksi idle, dalam detik (s). Rentang: [1, 600]. Default: Catatan Nilai 0 menggunakan default. |
loadBalancerId | string | Field yang dicadangkan. Jangan ubah. |
description | string | Nama Pendengar. Default: Dihasilkan otomatis menggunakan pola ini: |
caEnabled | bool | Aktifkan otentikasi timbal balik.
Default: |
requestTimeout | int | Periode timeout permintaan, dalam detik (s). Rentang: [1, 600]. Default: |
quicConfig | Konfigurasi listener QUIC. | |
defaultActions | Action[] | Field yang dicadangkan. Jangan ubah. |
caCertificates | Sertifikat CA root untuk listener. | |
certificates | Sertifikat server untuk listener. | |
xForwardedForConfig | Konfigurasi X-Forwarded-. | |
logConfig | Konfigurasi logging untuk listener. | |
aclConfig | Kontrol akses. |
QuicConfig
Field | Jenis data | Deskripsi |
quicUpgradeEnabled | bool | Aktifkan upgrade QUIC. Dalam skenario di mana listener QUIC dan HTTPS bekerja bersama, field ini mengaitkan atau memutuskan kaitan keduanya. Untuk petunjuk langkah demi langkah, lihat Gunakan listener QUIC untuk mendukung HTTP/3.
Default: |
quicListenerId | string | Listener HTTPS yang dikaitkan dengan listener QUIC. Default: |
Certificate
Field | Jenis data | Deskripsi |
IsDefault | bool | Tetapkan sertifikat ini sebagai default. Untuk petunjuk langkah demi langkah, lihat Konfigurasikan sertifikat HTTPS untuk komunikasi terenkripsi.
Default: Penting Anda hanya dapat menetapkan satu sertifikat sebagai default. |
CertificateId | string | CertIdentifier untuk sertifikat. Default: |
XForwardedForConfig
Field | Jenis data | Deskripsi |
XForwardedForClientCertSubjectDNEnabled | bool | Tambahkan header
Default: |
XForwardedForProtoEnabled | bool | Tambahkan header
Default: |
XForwardedForClientCertIssuerDNEnabled | bool | Tambahkan header
Default: |
XForwardedForSLBIdEnabled | bool | Tambahkan header
Default: |
XForwardedForClientSrcPortEnabled | bool | Tambahkan header
Default: |
XForwardedForClientCertFingerprintEnabled | bool | Tambahkan header
Default: |
XForwardedForEnabled | bool | Field Untuk menonaktifkan fitur ini atau menggunakan fungsi yang ditingkatkan, tingkatkan ALB Ingress Controller ke versi 2.15.0 atau lebih baru dan gunakan |
XForwardedForProcessingMode | string |
Jika kedua field |
XForwardedForHostEnabled | bool | Tambahkan header |
XForwardedForSLBPortEnabled | bool | Tambahkan header
Default: |
XForwardedForClientCertClientVerifyEnabled | bool | Tambahkan header
Default: |
XForwardedForClientCertSubjectDNAlias | string | Nama field kustom. Mengganti nama header Field ini hanya berlaku ketika Default: |
XForwardedForClientCertClientVerifyAlias | string | Nama field kustom. Mengganti nama header Field ini hanya berlaku ketika Default: |
XForwardedForClientCertIssuerDNAlias | string | Nama field kustom. Mengganti nama header Field ini hanya berlaku ketika Default: |
XForwardedForClientCertFingerprintAlias | string | Nama field kustom. Mengganti nama header Field ini hanya berlaku ketika Default: |
XForwardedForClientSourceIpsEnabled | bool | Izinkan ALB menemukan IP klien asal dari header
Default: |
XForwardedForClientSourceIpsTrusted | string | Tentukan alamat IP proksi tepercaya. Masukkan alamat IP atau blok CIDR yang valid, dipisahkan titik koma (
Contoh: |
AclConfig
Field | Jenis data | Deskripsi |
aclName | string | Nama kebijakan ACL terkait dalam mode AclEntry. Untuk petunjuk langkah demi langkah, lihat Konfigurasikan ACL untuk kontrol akses. Default: |
aclType | enum | Mode kontrol akses.
|
aclEntries | string | Entri kebijakan akses. Default: Penting Jangan gunakan |
aclIds | string | Daftar ID kebijakan yang ada untuk dikaitkan. Default: |
LogConfig
Field | Jenis data | Deskripsi |
accessLogRecordCustomizedHeadersEnabled | bool | Gunakan header kustom dalam log akses instance ALB.
Default: |
accessLogTracingConfig | Parameter konfigurasi untuk Analisis Tracing. Untuk petunjuk langkah demi langkah, lihat Aktifkan Xtrace untuk Analisis Tracing dengan AlbConfig. |
AccessLogTracingConfig
Field | Jenis data | Deskripsi |
tracingEnabled | bool | Tentukan apakah akan mengaktifkan fitur Analisis Tracing.
Default: |
tracingSample | int | Laju sampel Analisis Tracing, dalam satuan Rentang: [1, 10000]. |
tracingType | enum | Algoritma sampling untuk Analisis Tracing.
|
AlbConfigStatus
Field berikut dicadangkan untuk ALB Ingress guna mencatat status. Jangan ubah field-field ini: AlbConfigStatus, LoadBalancerStatus, ListenerStatus, dan AppliedCertificate.
Field | Output | Deskripsi |
loadBalancer | Field yang dicadangkan. Jangan ubah. Status instance ALB. |
LoadBalancerStatus
Field | Output | Deskripsi |
dnsname | string | Field yang dicadangkan. Jangan ubah. Alamat DNS instance ALB. |
id | string | Field yang dicadangkan. Jangan ubah. ID instance ALB. |
listeners | Field yang dicadangkan. Jangan ubah. Properti listener instance ALB. |
ListenerStatus
Field | Output | Deskripsi |
portAndProtocol | string | Field yang dicadangkan. Jangan ubah. Port dan protokol yang digunakan oleh listener. |
certificates | Field yang dicadangkan. Jangan ubah. Sertifikat yang dikaitkan dengan listener. |
AppliedCertificate
Field | Output | Deskripsi |
certificateId | string | Field yang dicadangkan. Jangan ubah. CertIdentifier sertifikat. |
isDefault | bool | Field yang dicadangkan. Jangan ubah. Apakah sertifikat tersebut merupakan sertifikat default. |
Referensi
Untuk informasi lebih lanjut tentang pengaturan spesifik dalam AlbConfig, lihat Konfigurasikan instance ALB dengan AlbConfig.
Untuk informasi lebih lanjut tentang penggunaan anotasi ALB Ingress, lihat Penggunaan lanjutan ALB Ingress.