Anda dapat mengonfigurasi sumber daya AlbConfig untuk menyesuaikan pengaturan instans Application Load Balancer (ALB). Topik ini menjelaskan anotasi dan field AlbConfig yang didukung oleh ALB Ingress beserta penggunaannya.
Indeks
Field anotasi
Klasifikasi fitur | Anotasi Ingress |
YAML Anotasi | |
Konfigurasi ALB Ingress | |
Konfigurasi Pendengar/Protokol | |
Konfigurasi aturan pengalihan | |
Konfigurasi Lanjutan | |
Lainnya |
Field AlbConfig
Kategori bidang | Field link |
AlbConfig YAML | |
AlbConfig | |
Instans ALB | |
Konfigurasi pendengar | |
Switch virtual | |
Simple Log Service | |
Pendengar QUIC | |
Konfigurasi sertifikat | |
Kontrol akses | |
Analisis Tracing | |
Konfigurasi X-Forwarded-For | |
Gunakan header kustom untuk log | |
Field yang dicadangkan |
Contoh Anotasi YAML
Kode berikut memberikan contoh penggunaan anotasi untuk mengonfigurasi instans ALB dalam sumber daya Ingress. Untuk informasi selengkapnya tentang anotasi, lihat bagian berikut.
Anotasi Ingress yang didukung
Saat menggunakan ALB Ingress, Anda dapat menambahkan anotasi ke sumber daya Ingress sesuai kebutuhan.
Pemeriksaan kesehatan
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/healthcheck-enabled | Menentukan apakah akan mengaktifkan pemeriksaan kesehatan untuk grup server backend. Untuk contoh konfigurasi pemeriksaan kesehatan, lihat Konfigurasi pemeriksaan kesehatan.
Nilai default: |
alb.ingress.kubernetes.io/healthcheck-path | Path untuk pemeriksaan kesehatan. Nilai default: |
alb.ingress.kubernetes.io/healthcheck-protocol | Protokol untuk pemeriksaan kesehatan.
Nilai default: |
alb.ingress.kubernetes.io/healthcheck-httpversion | Versi HTTP. Parameter ini berlaku ketika
Nilai default: |
alb.ingress.kubernetes.io/healthcheck-method | Metode pemeriksaan kesehatan.
Nilai default: Penting Jika |
alb.ingress.kubernetes.io/healthcheck-httpcode | Kode status pemeriksaan kesehatan. Server backend dianggap sehat hanya jika probe berhasil dan mengembalikan kode status yang ditentukan. Anda dapat menentukan satu atau beberapa opsi berikut. Pisahkan beberapa kode status dengan koma (,).
Nilai default: |
alb.ingress.kubernetes.io/healthcheck-code | Kode status pemeriksaan kesehatan. Server backend dianggap sehat hanya jika probe berhasil dan mengembalikan kode status yang ditentukan. Jika Anda menggunakan field ini bersama dengan Nilai yang valid bergantung pada nilai
|
alb.ingress.kubernetes.io/healthcheck-timeout-seconds | Periode waktu tunggu untuk pemeriksaan kesehatan. Satuan: detik (s). Nilai valid: 1 hingga 300. Nilai default: |
alb.ingress.kubernetes.io/healthcheck-interval-seconds | Interval untuk pemeriksaan kesehatan. Satuan: detik (s). Nilai valid: 1 hingga 50. Nilai default: |
alb.ingress.kubernetes.io/healthy-threshold-count | Jumlah pemeriksaan kesehatan berturut-turut yang berhasil yang diperlukan untuk menyatakan server backend sehat. Nilai valid: 2 hingga 10. Nilai default: |
alb.ingress.kubernetes.io/unhealthy-threshold-count | Jumlah pemeriksaan kesehatan berturut-turut yang gagal yang diperlukan untuk menyatakan server backend tidak sehat. Nilai valid: 2 hingga 10. Nilai default: |
alb.ingress.kubernetes.io/healthcheck-connect-port | Port yang digunakan untuk pemeriksaan kesehatan. Nilai default: Catatan Nilai |
Pengalihan
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/ssl-redirect | Menentukan apakah akan mengembalikan kode status 308 untuk permintaan HTTP dan mengalihkannya ke pendengar HTTPS pada port 443. Untuk contoh konfigurasi pengalihan, lihat Alihkan permintaan HTTP ke HTTPS.
Nilai 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 backend.
Nilai default: Catatan Protokol grup server backend yang didukung oleh pendengar berbeda adalah sebagai berikut:
|
Menulis ulang
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/rewrite-target | Path tempat permintaan ditulis ulang. Untuk contoh konfigurasi penulisan ulang, lihat Menulis ulang. |
Pendengar
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/listen-ports | Port dan protokol pendengar yang terkait dengan sumber daya Ingress. Untuk contoh konfigurasi, lihat Konfigurasi port pendengar kustom. Anda dapat menentukan protokol dan port pendengar untuk aturan Ingress. Kode berikut memberikan beberapa contoh:
|
Mulai lambat
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/slow-start-enabled | Menentukan apakah akan mengaktifkan fitur mulai lambat. Jika Anda mengaktifkan mulai lambat, ALB Ingress secara bertahap mendistribusikan lalu lintas ke pod baru setelah ditambahkan ke backend layanan. Ini mencegah pengecualian yang disebabkan oleh penggunaan CPU dan memori tinggi saat pod dimulai. Untuk contoh konfigurasi mulai lambat, lihat Mulai lambat backend.
Secara default, fitur ini dinonaktifkan. |
alb.ingress.kubernetes.io/slow-start-duration | Durasi mulai lambat. Semakin lama durasi, semakin lambat peningkatan lalu lintas. Satuan: detik (s). Nilai yang valid: 30 hingga 900. Nilai default: |
Prioritas
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/order | Prioritas relatif aturan pengalihan. Nilai yang lebih kecil menunjukkan prioritas yang lebih tinggi. Untuk contoh konfigurasi prioritas, lihat Konfigurasi prioritas aturan pengalihan. Nilai valid: 1 hingga 1.000. Nilai default: |
Skala abu-abu
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/canary | Menentukan apakah akan mengaktifkan rilis canary. Untuk informasi selengkapnya tentang cara melakukan rilis canary, lihat Implementasikan rilis canary menggunakan ALB Ingress.
Nilai default: |
alb.ingress.kubernetes.io/canary-by-header | Header permintaan yang dicocokkan saat rilis canary diaktifkan. |
alb.ingress.kubernetes.io/canary-by-header-value | Nilai header permintaan yang dicocokkan saat rilis canary diaktifkan. |
alb.ingress.kubernetes.io/canary-by-cookie | Cookie yang dicocokkan saat rilis canary diaktifkan. |
alb.ingress.kubernetes.io/canary-weight | Persentase permintaan yang diteruskan ke layanan yang ditentukan. Nilainya harus berupa bilangan bulat dari 0 hingga 100. Untuk informasi selengkapnya, lihat Rilis canary berdasarkan bobot. |
Session persistence
Annotation | Deskripsi |
alb.ingress.kubernetes.io/sticky-session | Menentukan apakah akan mengaktifkan persistensi sesi untuk grup server backend. Untuk contoh konfigurasi persistensi sesi, lihat Aktifkan persistensi sesi menggunakan anotasi.
Nilai default: |
alb.ingress.kubernetes.io/sticky-session-type | Jenis persistensi sesi.
Nilai default: |
alb.ingress.kubernetes.io/cookie-timeout | Waktu tunggu persistensi sesi. Satuan: detik (s). Nilai valid: 1 hingga 86400. Nilai default: |
alb.ingress.kubernetes.io/cookie | Nilai cookie kustom. Jenis: string. Nilai default: |
Pengurasan koneksi
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/connection-drain-enabled | Menentukan apakah akan mengaktifkan pengurasan koneksi. Jika Anda mengaktifkan pengurasan koneksi, ALB Ingress mempertahankan penerusan lalu lintas normal untuk periode waktu tertentu saat pod backend memasuki status Terminating atau dilaporkan tidak normal oleh pemeriksaan kesehatan. Koneksi dihentikan setelah periode waktu tunggu tercapai. Ini mencegah gangguan layanan yang disebabkan oleh penghapusan backend secara tiba-tiba. Untuk informasi selengkapnya tentang cara kerja pengurasan koneksi, lihat Pengurasan koneksi.
Secara default, fitur ini dinonaktifkan. |
alb.ingress.kubernetes.io/connection-drain-timeout | Waktu tunggu pengurasan koneksi. Satuan: detik (s). Nilai yang valid: 0 hingga 900. Nilai default: |
Load balancing
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/backend-scheduler | Algoritma penyeimbangan beban untuk grup server backend. Untuk contoh konfigurasi algoritma penyeimbangan beban, lihat Tentukan algoritma penyeimbangan beban untuk grup server.
Nilai default: |
alb.ingress.kubernetes.io/backend-scheduler-uch-value | Parameter hash URL yang digunakan saat algoritma penyeimbangan beban adalah "uch". |
Lintas domain
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/enable-cors | Menentukan apakah akan mengaktifkan konfigurasi lintas domain. Untuk contoh konfigurasi, lihat Konfigurasi lintas domain.
Nilai default: |
alb.ingress.kubernetes.io/cors-allow-origin | Asal lintas domain yang diizinkan. Nilai default: |
alb.ingress.kubernetes.io/cors-expose-headers | Daftar header yang dapat diekspos. |
alb.ingress.kubernetes.io/cors-allow-methods | Metode permintaan lintas domain yang diizinkan. Anda dapat menentukan satu atau beberapa opsi berikut:
Nilai default: |
alb.ingress.kubernetes.io/cors-allow-credentials | Menentukan apakah permintaan lintas domain dapat membawa informasi kredensial.
Nilai default: |
alb.ingress.kubernetes.io/cors-max-age | Waktu cache maksimum untuk permintaan preflight di browser. Satuan: detik (s). Nilai valid: -1 hingga 172800. Nilai default: Catatan Nilai |
alb.ingress.kubernetes.io/cors-allow-headers | Daftar header lintas domain yang diizinkan. Nilai default: |
Pengalihan kustom
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/actions.{svcName} | Aksi pengalihan kustom. Untuk informasi selengkapnya tentang pengalihan kustom, lihat Sesuaikan aturan pengalihan untuk Ingress ALB. |
alb.ingress.kubernetes.io/conditions.{svcName} | Kondisi pengalihan kustom. |
alb.ingress.kubernetes.io/rule-direction.{svcName} | Arah pengalihan kustom.
Nilai default: |
Dukungan IPv6 untuk grup server
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/enable-ipv6 | Menentukan apakah akan mengaktifkan IPv6 untuk grup server. Untuk contoh konfigurasi, lihat Dukungan IPv6 untuk grup server.
Nilai default: |
Lainnya
Anotasi | Deskripsi |
alb.ingress.kubernetes.io/backend-keepalive | Menentukan apakah akan mengaktifkan koneksi persisten ke server backend. Untuk contoh konfigurasi, lihat Koneksi persisten backend. Nilai default: |
alb.ingress.kubernetes.io/traffic-limit-qps | Konfigurasi pembatasan laju permintaan per detik (QPS). Nilai yang valid: 1 hingga 1000000. |
alb.ingress.kubernetes.io/use-regex | Mengizinkan field Path menggunakan ekspresi reguler. Ini hanya berlaku untuk tipe Prefix. Nilai default: |
Bidang AlbConfig
AlbConfig adalah Definisi Sumber Daya Kustom (CRD) yang mendeskripsikan instans ALB dan pendengarnya. Kode berikut memberikan contoh AlbConfig lengkap. Untuk informasi selengkapnya tentang field-field tersebut, lihat bagian berikut.
Albconfig
Bidang | Tipe | Deskripsi |
apiVersion | Nilai tetap | Skema versi objek ini. Nilai tetap: |
kind | Nilai tetap | Sumber daya REST yang diwakili oleh objek ini. Nilai tetap: |
metadata | Metadata objek standar. Untuk informasi selengkapnya, lihat metadata. | |
spec | Daftar parameter yang menjelaskan properti instans ALB dan pendengarnya. | |
status | Setelah rekonsiliasi berhasil, status instans ditulis ke field |
AlbConfigSpec
Bidang | Tipe | Deskripsi |
config | Properti instans ALB. | |
listeners | Properti pendengar instans. |
LoadBalancerSpec
Bidang | Tipe | Deskripsi |
id | string | ID instans ALB. Tentukan ID untuk menggunakan kembali instans yang ada. Jika Anda membiarkan field ini kosong, pengontrol membuat instans ALB. Untuk informasi selengkapnya tentang cara membuat instans ALB baru atau menggunakan kembali yang sudah ada, lihat Buat AlbConfig. Nilai default: |
name | string | Nama instance ALB. Nilai default: dihasilkan secara otomatis berdasarkan aturan berikut: |
addressAllocatedMode | enum | Mode alamat instans ALB.
Nilai default: |
addressType | enum | Jenis alamat IPv4 instans ALB.
Nilai default: |
ipv6AddressType | enum | Jenis alamat IPv6 instans ALB. Ini tidak perlu sama dengan jenis alamat IPv4.
Nilai default: |
addressIpVersion | enum | Menentukan apakah instans ALB mendukung dual-stack.
Nilai default: |
resourceGroupId | string | ID grup sumber daya tempat instans tersebut berada. Nilai default: |
edition | enum | Edisi instans. Anda tidak dapat mengubah edisi instans yang digunakan kembali.
Nilai default: |
deletionProtectionEnabled | bool | Ini adalah field yang dicadangkan. Jangan ubah. |
forceOverride | bool | Menentukan apakah akan memaksa menimpa properti instans dalam mode penggunaan kembali.
Nilai default: |
listenerForceOverride | bool | Menentukan apakah akan memaksa menimpa properti pendengar dalam mode penggunaan kembali.
Nilai default: |
zoneMappings | Konfigurasi zona dan EIP. | |
accessLogConfig | Pengumpulan log. | |
billingConfig | Metode penagihan. | |
modificationProtectionConfig | Mode konfigurasi read-only. | |
tags | Tag instans. | |
securityGroupIds | string[] | ID grup keamanan tempat instans ALB ditambahkan. Untuk informasi selengkapnya, lihat Konfigurasi grup keamanan menggunakan AlbConfig. |
ZoneMapping
Bidang | Tipe | Deskripsi |
vSwitchId | string | (Wajib) ID vSwitch virtual. Nilai default: |
zoneId | string | Zona vSwitch virtual. Biarkan nilai default. Nilai default: |
allocationId | string | ID alamat IP elastis (EIP). Untuk contoh konfigurasi, lihat Konfigurasi instans ALB menggunakan AlbConfig. Nilai default: |
eipType | string | Ini adalah field yang dicadangkan. Jangan ubah. |
AccessLogConfig
Bidang | Tipe | Deskripsi |
logProject | string | Nama proyek Simple Log Service (SLS). Nilai default: |
logStore | string | Nama penyimpanan log SLS. Nama harus diawali dengan Nilai default: |
BillingConfig
Bidang | Tipe | Deskripsi |
internetBandwidth | int | Ini adalah field yang dicadangkan. Jangan ubah. |
internetChargeType | string | Ini adalah field yang dicadangkan. Jangan ubah. |
payType | enum | Ini adalah field yang dicadangkan. Jangan ubah. |
bandWidthPackageId | string | ID instans Bandwidth Internet Bersama yang akan dilampirkan. Anda tidak dapat melepas instans setelah dilampirkan. Untuk contoh konfigurasi, lihat Konfigurasi Bandwidth Internet Bersama. Nilai default: |
ModificationProtectionConfig
Bidang | Tipe | Deskripsi |
reason | string | Field yang dicadangkan. |
status | string | Field yang dicadangkan. |
Tag
Bidang | Tipe | Deskripsi |
key | string | Kunci tag. Nilai default: |
value | string | Nilai tag. Nilai default: |
ListenerSpec
Bidang | Tipe | Deskripsi |
gzipEnabled | bool | Menentukan apakah akan mengaktifkan kompresi data. Untuk contoh konfigurasi kompresi data, lihat Gunakan kompresi data.
Nilai default: |
http2Enabled | bool | Menentukan apakah akan mengaktifkan HTTP/2.
Nilai default: |
port | int | (Wajib) Port yang digunakan oleh pendengar. Nilai default: |
protocol | enum | (Wajib) Protokol yang digunakan oleh pendengar.
|
securityPolicyId | string | ID kebijakan keamanan TLS. Nilai default: |
idleTimeout | int | Waktu tunggu koneksi idle. Satuan: detik (s). Nilai yang valid: 1 hingga 600. Nilai default: Catatan Nilai 0 menunjukkan bahwa nilai default digunakan. |
loadBalancerId | string | Ini adalah field yang dicadangkan. Jangan ubah. |
description | string | Nama listener. Nilai default: dihasilkan secara otomatis berdasarkan aturan berikut: |
caEnabled | bool | Menentukan apakah akan mengaktifkan autentikasi mutual.
Nilai default: |
requestTimeout | int | Waktu tunggu permintaan. Satuan: detik (s). Nilai yang valid: 1 hingga 600. Nilai default: |
quicConfig | Konfigurasi pendengar QUIC. | |
defaultActions | Action[] | Ini adalah field yang dicadangkan. Jangan ubah. |
caCertificates | Sertifikat root CA dari listener. | |
certificates | Sertifikat server dari listener. | |
xForwardedForConfig | Konfigurasi field X-Forwarded-For. | |
logConfig | Konfigurasi log pendengar. | |
aclConfig | Kontrol akses. |
QuicConfig
Bidang | Tipe | Deskripsi |
quicUpgradeEnabled | bool | Menentukan apakah akan mengaktifkan peningkatan QUIC. Dalam skenario di mana pendengar QUIC dan HTTPS digunakan bersama, quicUpgradeEnabled digunakan untuk mengaitkan atau memutuskan kaitan antara pendengar QUIC dan HTTPS. Untuk informasi selengkapnya, lihat Gunakan pendengar QUIC untuk mendukung HTTP/3.
Nilai default: |
quicListenerId | string | Pendengar HTTPS yang dikaitkan dengan pendengar QUIC. Nilai default: |
Certificate
Bidang | Tipe | Deskripsi |
IsDefault | bool | Menentukan apakah sertifikat tersebut adalah sertifikat default. Untuk informasi selengkapnya tentang cara mengonfigurasi sertifikat, lihat Konfigurasi sertifikat HTTPS untuk mengaktifkan komunikasi terenkripsi.
Nilai default: Penting Anda hanya dapat menentukan satu sertifikat sebagai sertifikat default. |
CertificateId | string | CertIdentifier sertifikat. Nilai default: |
XForwardedForConfig
Bidang | Tipe | Deskripsi |
XForwardedForClientCertSubjectDNEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForProtoEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForClientCertIssuerDNEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForSLBIdEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForClientSrcPortEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForClientCertFingerprintEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForEnabled | bool | Menentukan apakah akan menambahkan header |
XForwardedForSLBPortEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForClientCertClientVerifyEnabled | bool | Menentukan apakah akan menambahkan header
Nilai default: |
XForwardedForClientCertSubjectDNAlias | string | Nama field kustom. Setelah Anda menentukan nilai, header Field ini hanya berlaku ketika Nilai default: |
XForwardedForClientCertClientVerifyAlias | string | Nama field kustom. Setelah Anda menentukan nilai, header Field ini hanya berlaku ketika Nilai default: |
XForwardedForClientCertIssuerDNAlias | string | Nama field kustom. Setelah Anda menentukan nilai, header Field ini hanya berlaku ketika Nilai default: |
XForwardedForClientCertFingerprintAlias | string | Nama field kustom. Setelah Anda menentukan nilai, header Field ini hanya berlaku ketika Nilai default: |
XForwardedForClientSourceIpsEnabled | bool | Menentukan apakah ALB diizinkan mengambil alamat IP asal klien dari header
Nilai default: |
XForwardedForClientSourceIpsTrusted | string | Menentukan alamat IP proksi tepercaya. Masukkan alamat IP atau blok CIDR yang valid. Pisahkan beberapa nilai dengan titik koma (
Contoh: |
AclConfig
Bidang | Tipe | Deskripsi |
aclName | string | Nama kebijakan daftar kontrol akses (ACL) yang terkait dalam mode AclEntry. Untuk informasi selengkapnya tentang cara mengonfigurasi ACL, lihat Konfigurasi ACL untuk kontrol akses. Nilai default: |
aclType | enum | Mode kontrol akses.
|
aclEntries | string | Entri ACL. Nilai default: Penting Field |
aclIds | string | Daftar ID kebijakan yang ada untuk dikaitkan. Nilai default: |
LogConfig
Bidang | Tipe | Deskripsi |
accessLogRecordCustomizedHeadersEnabled | bool | Menentukan apakah akan menggunakan header kustom dalam log akses instans ALB.
Nilai default: |
accessLogTracingConfig | Parameter untuk Analisis Tracing. Untuk informasi selengkapnya tentang cara menggunakan Analisis Tracing, lihat Aktifkan Xtrace untuk Analisis Tracing menggunakan AlbConfig. |
AccessLogTracingConfig
Bidang | Tipe | Deskripsi |
tracingEnabled | bool | Menentukan apakah akan mengaktifkan Analisis Tracing.
Nilai default: |
tracingSample | int | Laju sampel untuk Analisis Tracing, dengan satuan Nilai valid: 1 hingga 10000. |
tracingType | enum | Algoritma pengambilan sampel untuk Analisis Tracing.
|
AlbConfigStatus
Field berikut, AlbConfigStatus, LoadBalancerStatus, ListenerStatus, dan AppliedCertificate, merupakan field yang dicadangkan. Field-field ini digunakan oleh ALB Ingress untuk mencatat informasi status secara otomatis. Jangan ubah.
Bidang | Keluaran | Deskripsi |
loadBalancer | Ini adalah field yang dicadangkan. Jangan ubah. Status instance ALB. |
LoadBalancerStatus
Bidang | Keluaran | Deskripsi |
dnsname | string | Ini adalah field yang dicadangkan. Jangan ubah. Nama DNS instans ALB. |
id | string | Ini adalah field yang dicadangkan. Jangan ubah. ID instance ALB. |
listeners | Ini adalah field yang dicadangkan. Jangan ubah. Properti pendengar instans ALB. |
ListenerStatus
Bidang | Output | Deskripsi |
portAndProtocol | string | Ini adalah field yang dicadangkan. Jangan ubah. Port dan protokol yang digunakan oleh pendengar. |
certificates | Ini adalah field yang dicadangkan. Jangan ubah. Sertifikat yang dikaitkan dengan pendengar. |
AppliedCertificate
Bidang | Output | Deskripsi |
certificateId | string | Ini adalah field yang dicadangkan. Jangan ubah. CertIdentifier sertifikat. |
isDefault | bool | Ini adalah field yang dicadangkan. Jangan ubah. Menentukan apakah sertifikat tersebut adalah sertifikat default. |
Referensi
Untuk informasi tentang pengaturan spesifik dalam AlbConfig, lihat Konfigurasi instans ALB menggunakan AlbConfig.
Untuk informasi tentang cara menggunakan anotasi ALB Ingress, lihat Penggunaan lanjutan ALB Ingress.