Anda dapat memanfaatkan fitur load balancing lanjutan dengan menambahkan anotasi ke file YAML Service untuk mengonfigurasi instans CLB, listener, dan kelompok server backend.
Indeks
Kategori | Kategori fitur | Tautan konfigurasi |
Buat load balancer | ||
Gunakan instans yang ada | ||
Konfigurasi load balancer | ||
Aktifkan perlindungan instans | ||
Konfigurasi persistensi sesi | ||
Konfigurasi port dan protokol | ||
Konfigurasi lanjutan | ||
Manajemen konfigurasi | ||
Catatan penggunaan anotasi
Nilai anotasi bersifat case-sensitive.
Sebelum menggunakan anotasi, pastikan versi Cloud Controller Manager (CCM) yang didukung sesuai dengan topik ini. Untuk memutakhirkan CCM, lihat Kelola komponen. Untuk catatan rilis CCM, lihat Cloud Controller Manager.
Mulai 11 September 2019, bidang
annotationsberubah darialicloudmenjadialibaba-cloud.Contoh:
Sebelumnya:
service.beta.kubernetes.io/alicloud-loadbalancer-idSesudah:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idSistem masih mendukung format
alicloud. Anda tidak perlu melakukan perubahan apa pun.
Operasi CLB umum
Buat Instance SLB publik
apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat Instance SLB internal
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type
Deskripsi | Versi CCM yang didukung |
Tentukan apakah instans SLB bersifat internal. Nilai yang valid:
Nilai default: Kami menyarankan agar Anda menentukan vSwitch secara manual untuk instans SLB. Lihat Tentukan vSwitch untuk instans SLB. Jika Anda tidak menentukannya, sistem akan memilih secara otomatis berdasarkan versi CCM:
| v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerTentukan spesifikasi instans SLB
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type | Metode penagihan untuk instans SLB. Nilai yang valid:
Nilai default: Penting
| v2.4.0 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec | Spesifikasi instans SLB. Gunakan parameter ini untuk membuat instans SLB dengan spesifikasi tertentu atau memperbarui spesifikasi instans SLB yang ada. Nilai yang valid:
Nilai default: Untuk nilai valid lainnya, lihat CreateLoadBalancer. Penting Jika Anda memodifikasi spesifikasi instans SLB di konsol CLB (hanya didukung untuk instans SLB pay-by-specification), CCM mungkin mengembalikannya ke spesifikasi asal. Lakukan dengan hati-hati. | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: "PayBySpec"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: "slb.s1.small"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerGunakan Instance SLB yang ada
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id
Deskripsi | Versi CCM yang didukung |
Penting
ID instans SLB. Gunakan anotasi ini untuk menentukan instans CLB yang sudah ada.
| v1.9.3.81-gca19cd4-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${YOUR_LOADBALANCER_ID}"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerGunakan instance SLB yang ada dan paksa mengganti pendengar yang ada
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Memaksa override akan menghapus listener yang ada jika terjadi konflik port.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id | Penting Untuk menghindari perilaku tak terduga seperti ketidaktersediaan kluster atau gangguan trafik, jangan gunakan kembali instans CLB API Server atau instans CLB yang dibuat oleh CCM. Buat instans baru secara manual di Konsol Classic Load Balancer (CLB). ID instans SLB. Gunakan anotasi ini untuk menentukan Server Load Balancer yang sudah ada.
| v1.9.3.81-gca19cd4-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners | Menentukan apakah CCM menyinkronkan konfigurasi listener CLB dengan Service saat mengikat ke instans SLB yang ada.
Nilai default: Penting Saat menggunakan kembali CLB yang ada dan mengatur | v1.9.3.81-gca19cd4-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${YOUR_LOADBALANCER_ID}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerTentukan zona primer dan sekunder saat membuat instans SLB
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Setelah dibuat, zona primer dan sekunder tidak dapat dimodifikasi.
Beberapa wilayah tidak mendukung zona primer dan sekunder untuk instans SLB. Periksa konsol CLB untuk detailnya.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid | ID zona server backend primer. | v1.9.3.10-gfb99107-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid | ID zona server backend cadangan. | v1.9.3.10-gfb99107-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid: "cn-hangzhou-k"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid: "cn-hangzhou-j"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat Instance SLB berbasis bandwidth
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Kedua anotasi wajib digunakan.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type | Metode penagihan untuk instans SLB. Nilai yang valid:
Nilai default: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth | Batas bandwidth untuk instans SLB, dalam Mbps. Nilai default: 50. Hanya berlaku untuk instans SLB publik. Untuk batas lainnya, lihat Ubah metode penagihan untuk instans SLB publik. | v1.9.3.10-gfb99107-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type: "paybybandwidth"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth: "2"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerTentukan vSwitch untuk instans SLB
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Kedua anotasi wajib digunakan.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type | Tentukan apakah instans SLB bersifat internal. Nilai yang valid:
Nilai default: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id | ID VSwitch untuk instans SLB. VSwitch harus berada dalam VPC yang sama dengan kluster Kubernetes. Saat Anda mengatur parameter ini, atur juga Anda dapat menemukan ID VSwitch di Konsol Virtual Private Cloud (VPC). | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: "${YOUR_VSWITCH_ID}"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerTentukan alamat IP untuk instans SLB internal
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Ketiga anotasi wajib digunakan.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type | Tentukan apakah instans SLB bersifat internal. Nilai yang valid:
Nilai default: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id | ID VSwitch untuk instans SLB. VSwitch harus berada dalam VPC yang sama dengan kluster Kubernetes. Saat Anda mengatur parameter ini, atur juga Anda dapat menemukan ID VSwitch di Konsol Virtual Private Cloud (VPC). | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip | Alamat IP untuk instans SLB internal.
| v2.7.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: "${YOUR_VSWITCH_ID}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip: "192.168.x.x"
name: nginx
namespace: default
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
name: http
selector:
app: nginxTambahkan tag tambahan ke instans SLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags
Deskripsi | Versi CCM yang didukung |
Daftar tag yang akan ditambahkan. Pisahkan beberapa tag dengan koma (,). Contoh: Penting Menambahkan anotasi ini untuk mengatur tag tambahan dapat menimpa modifikasi tag manual yang dilakukan di konsol untuk instans SLB yang sesuai. | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags: "Key1=Value1,Key2=Value2"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat Instance SLB IPv6
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version
Deskripsi | Versi CCM yang didukung |
Versi IP untuk instans SLB. Anda tidak dapat mengubah versi IP setelah pembuatan. Modus proxy kube-proxy untuk kluster harus IPVS. Nilai yang valid:
Nilai default: | v1.9.3.220-g24b1885-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6"
name: nginx
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerAktifkan perlindungan penghapusan untuk instans SLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-delete-protection
Deskripsi | Versi CCM yang didukung |
Aktifkan perlindungan penghapusan untuk instans SLB. Nilai yang valid:
Nilai default: Penting Untuk instans SLB yang dibuat oleh Service LoadBalancer, Anda tetap dapat menghapus instans SLB terkait menggunakan | v1.9.3.313-g748f81e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-delete-protection: "on"
name: nginx
spec:
externalTrafficPolicy: Local
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerAktifkan perlindungan modifikasi konfigurasi untuk instans SLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-modification-protection
Deskripsi | Versi CCM yang didukung |
Aktifkan perlindungan modifikasi konfigurasi untuk instans SLB. Nilai yang valid:
Nilai default: | v1.9.3.313-g748f81e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-modification-protection: "ConsoleProtection"
name: nginx
spec:
externalTrafficPolicy: Local
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerTentukan nama instans SLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name
Deskripsi | Versi CCM yang didukung |
Nama instans SLB. Panjang: 2–128 karakter. Harus dimulai dengan huruf atau karakter Tionghoa. Dapat berisi huruf, angka, titik (.), garis bawah (_), dan tanda hubung (-). | v1.9.3.313-g748f81e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name: "your-svc-name"
name: nginx
spec:
externalTrafficPolicy: Local
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerTentukan kelompok sumber daya untuk instans SLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id
Deskripsi | Versi CCM yang didukung |
ID kelompok sumber daya untuk instans SLB. Anda tidak dapat mengubah ID kelompok sumber daya setelah ditetapkan. Temukan ID kelompok sumber daya di Konsol Alibaba Cloud Resource Management. | v1.9.3.313-g748f81e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id: "rg-xxxx"
name: nginx
spec:
externalTrafficPolicy: Local
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerAtur hostname untuk Service
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-hostname | Atur hostname untuk Service. Hostname harus mematuhi aturan penamaan DNS. Catatan penting:
| v2.3.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-hostname: "${your_service_hostname}"
name: nginx-svc
namespace: default
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerOutput yang diharapkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-svc loadBalancer 47.100.XX.XX www.example.com 80:30248/TCP,443:32670/TCP 10sBuat Instance SLB pay-by-usage
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type
Deskripsi | Versi CCM yang didukung |
Metode penagihan untuk instans SLB. Nilai yang valid:
Nilai default: Penting
| v2.4.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: "PayByCLCU"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerPertahankan instans SLB yang dibuat secara otomatis saat menghapus Service
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete
Deskripsi | Versi CCM yang didukung |
Saat menghapus Service LoadBalancer, pertahankan instans SLB yang dibuat oleh Service dan hapus tag Saat diaktifkan, event Warning bertipe Nilai yang valid:
Penting Hapus Service daripada mengubah tipenya untuk melakukan operasi ini. Jika tidak, Service mungkin salah melampirkan kembali ke instans SLB yang sebelumnya dipertahankan. | v2.10.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete: "true"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerOperasi listener umum
Konfigurasi timeout persistensi sesi untuk instans SLB TCP
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout
Deskripsi | Versi CCM yang didukung |
Timeout persistensi sesi. Hanya berlaku untuk listener TCP. Jika instans SLB memiliki beberapa listener TCP, pengaturan ini berlaku untuk semuanya. Unit: detik. Nilai yang valid: [0, 3600]. Nilai default: 0, yang menonaktifkan persistensi sesi. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener. | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout: "1800"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerKonfigurasi persistensi sesi (insert cookie) untuk listener HTTP dan HTTPS
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Keempat anotasi wajib digunakan saat menyisipkan cookie.
Hanya berlaku untuk instans SLB HTTP dan HTTPS.
Jika Anda mengonfigurasi beberapa port listener HTTP atau HTTPS, pengaturan persistensi sesi ini berlaku untuk semuanya secara default.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session | Aktifkan persistensi sesi. Hanya berlaku untuk listener HTTP dan HTTPS. Nilai yang valid:
Nilai default: Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type | Metode penanganan cookie. Hanya berlaku untuk listener HTTP dan HTTPS. Wajib saat
Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout | Timeout cookie. Wajib saat Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie | Nama cookie yang dikonfigurasi di server. Panjang: 1–200 karakter. Hanya dapat berisi huruf dan angka ASCII. Tidak boleh berisi koma (,), titik koma (;), atau spasi. Tidak boleh diawali dengan tanda dolar ($). Wajib saat Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type: "insert"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout: "1800"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi kelompok kebijakan kontrol akses untuk instans SLB
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Ketiga anotasi wajib digunakan.
Sebelum menggunakan anotasi ini, buat kelompok kebijakan kontrol akses di Konsol Classic Load Balancer (CLB) dan catat ID ACL-nya.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status | Aktifkan kontrol akses. Nilai yang valid:
Nilai default: | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id | ID ACL yang akan dilampirkan ke listener. Wajib saat | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type | Jenis kontrol akses. Nilai yang valid:
| v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id: "${YOUR_ACL_ID}" # Beberapa kelompok kebijakan tidak didukung.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type: "white"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerTentukan port pengalihan untuk instans SLB
Pengalihan port mengarahkan permintaan HTTP ke port HTTPS.
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Ketiga anotasi wajib digunakan.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Masuk ke konsol CLB dan temukan ID sertifikat pada halaman Certificate Management. Catatan Untuk membuat sertifikat, lihat Pilih sertifikat yang dikeluarkan Alibaba Cloud. | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port | Arahkan permintaan HTTP ke port HTTPS. Contoh: | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443,http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port: "80:443"
name: nginx
namespace: default
spec:
ports:
- name: https
port: 443
protocol: TCP
targetPort: 80
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerAtur algoritma penjadwalan untuk instans SLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler
Deskripsi | Versi CCM yang didukung |
Algoritma penjadwalan. Nilai yang valid:
Nilai default: Untuk nilai valid lainnya, lihat bidang | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wrr"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerBuat listener UDP
apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: UDP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat listener HTTP
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port
Pemeriksaan kesehatan: Pemeriksaan kesehatan untuk listener HTTP dinonaktifkan secara default. Untuk memastikan ketersediaan layanan backend, konfigurasikan pemeriksaan kesehatan HTTP atau TCP untuk port listener.
Akses dari dalam kluster: Saat mengakses layanan melalui IP CLB dari dalam kluster, trafik mungkin dicegat secara internal, menyebabkan kegagalan akses. Lihat Atur hostname untuk Service untuk memaksa trafik melewati CLB dengan menambahkan anotasi. Untuk detailnya, lihat Catatan tentang mengakses External IP Service LoadBalancer dari dalam kluster.
Deskripsi | Versi CCM yang didukung |
Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat listener HTTPS
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Permintaan HTTPS didekripsi di lapisan CLB dan dikirim ke pod backend sebagai permintaan HTTP.
Pemeriksaan kesehatan: Pemeriksaan kesehatan untuk listener HTTPS dinonaktifkan secara default. Untuk memastikan ketersediaan layanan backend, konfigurasikan pemeriksaan kesehatan HTTP atau TCP untuk port listener.
Akses dari dalam kluster: Saat mengakses layanan melalui IP CLB dari dalam kluster, trafik mungkin dicegat secara internal, menyebabkan kegagalan akses. Lihat Atur hostname untuk Service untuk memaksa trafik melewati CLB dengan menambahkan anotasi. Untuk detailnya, lihat Catatan tentang mengakses External IP Service LoadBalancer dari dalam kluster.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke Konsol CLB dan lihat ID sertifikat di halaman Certificate Management. Catatan Untuk membuat sertifikat, lihat Pilih sertifikat yang dikeluarkan Alibaba Cloud. | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi sertifikat nama domain tambahan untuk listener HTTPS
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke Konsol CLB dan lihat ID sertifikat di halaman Certificate Management. Catatan Untuk membuat sertifikat, lihat Pilih sertifikat yang dikeluarkan Alibaba Cloud. | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-domain-extensions | Tentukan nama domain tambahan dan ID sertifikatnya dalam format Login ke Konsol CLB dan lihat ID sertifikat di halaman Certificate Management. | v2.13.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-domain-extensions: "${DOMAIN_1}:${CERT_ID_1},${DOMAIN_2}:${CERT_ID_2}"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat listener dengan pemeriksaan kesehatan
Konfigurasi pemeriksaan kesehatan TCP
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Semua anotasi wajib digunakan.
Pemeriksaan kesehatan port TCP diaktifkan secara default.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch | Aktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai yang valid:
Nilai default: | v2.6.0 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Jenis pemeriksaan kesehatan. Nilai yang valid:
Nilai default: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout | Waktu tunggu respons dari pemeriksaan kesehatan. Berlaku untuk mode TCP. Jika ECS backend tidak merespons dengan benar dalam waktu yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Nilai yang valid: [1, 300]. Jika nilai | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan berturut-turut yang berhasil diperlukan untuk mengubah status server backend dari Nilai yang valid: [2, 10]. Nilai default: 3. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan berturut-turut yang gagal diperlukan untuk mengubah status server backend dari success menjadi fail. Nilai yang valid: [2, 10]. Nilai default: 3. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval pemeriksaan kesehatan. Unit: detik. Nilai yang valid: [1, 50]. Nilai default: 2. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener. | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "tcp"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout: "8"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "3"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi pemeriksaan kesehatan UDP
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Semua anotasi wajib digunakan.
Pemeriksaan kesehatan port UDP diaktifkan secara default.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch | Aktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai yang valid:
Nilai default: | v2.6.0 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout | Waktu tunggu respons dari pemeriksaan kesehatan. Berlaku untuk mode TCP. Jika ECS backend tidak merespons dengan benar dalam waktu yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Nilai yang valid: [1, 300]. Jika nilai | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan berturut-turut yang berhasil diperlukan untuk mengubah status server backend dari fail menjadi success. Nilai yang valid: [2, 10]. Nilai default: 3. Untuk informasi lebih lanjut, lihat CreateLoadBalancerUDPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan berturut-turut yang gagal diperlukan untuk mengubah status server backend dari success menjadi fail. Nilai yang valid: [2, 10]. Nilai default: 3. Untuk informasi lebih lanjut, lihat CreateLoadBalancerUDPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval pemeriksaan kesehatan. Unit: detik. Nilai yang valid: [1, 50]. Nilai default: 2. Untuk informasi lebih lanjut, lihat CreateLoadBalancerUDPListener. | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "5"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout: "10"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "3"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "3"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: UDP
targetPort: 80
selector:
run: nginx
type: LoadBalancerNonaktifkan pemeriksaan kesehatan untuk listener TCP dan UDP
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch
Deskripsi | Versi CCM yang didukung |
Aktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai yang valid:
Nilai default: | v2.6.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch: "off" # Nonaktifkan pemeriksaan kesehatan
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerKonfigurasi pemeriksaan kesehatan HTTP
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag | Nilai yang valid:
Nilai default: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Jenis pemeriksaan kesehatan. Nilai yang valid:
Nilai default: Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri | URI untuk pemeriksaan kesehatan. Anotasi ini tidak diperlukan untuk pemeriksaan kesehatan TCP. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode | Kode status HTTP untuk pemeriksaan kesehatan yang berhasil. Pisahkan beberapa kode dengan koma (,). Nilai yang valid:
Nilai default: Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain | Nama domain untuk pemeriksaan kesehatan. Nilai yang valid:
Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout | Waktu tunggu respons dari pemeriksaan kesehatan. Berlaku untuk mode HTTP. Jika ECS backend tidak merespons dengan benar dalam waktu yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Nilai yang valid: [1, 300]. Jika nilai Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan berturut-turut yang berhasil diperlukan untuk mengubah status server backend dari fail menjadi success. Nilai yang valid: [2, 10]. Nilai default: 3. Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan berturut-turut yang gagal diperlukan untuk mengubah status server backend dari success menjadi fail. Nilai yang valid: [2, 10]. Nilai default: 3. Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval pemeriksaan kesehatan. Unit: detik. Nilai yang valid: [1, 50]. Nilai default: 2. Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener. | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method | Metode pemeriksaan kesehatan untuk listener HTTP. Nilai yang valid:
| v2.3.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "http"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri: "/test/index.html"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout: "10"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "3"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
# Opsional. Atur kode status HTTP untuk pemeriksaan kesehatan.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode: "http_4xx"
# Opsional. Atur nama domain untuk pemeriksaan kesehatan.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain: "www.aliyun.com"
# Opsional. Atur metode pemeriksaan kesehatan.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method: "head"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi pengurasan koneksi untuk listener
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Semua anotasi wajib digunakan.
Hanya berlaku untuk protokol TCP dan UDP.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain | Aktifkan pengurasan koneksi. Nilai yang valid:
| v2.0.1 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout | Atur timeout pengurasan koneksi. Unit: detik. Nilai yang valid: [10, 900]. | v2.0.1 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout: "30"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi header permintaan tambahan untuk listener
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Hanya berlaku untuk protokol HTTP dan HTTPS.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-proto | Konfigurasi apakah akan menggunakan header X-Forwarded-Proto untuk mendapatkan protokol listener CLB. Nilai yang valid:
Nilai default: | v2.1.0 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-slbport | Konfigurasi apakah akan menggunakan header XForwardedFor_SLBPORT untuk mendapatkan port listener instans SLB. Nilai yang valid:
Nilai default: | v2.9.1 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-clientsrcport | Konfigurasi apakah akan menggunakan header XForwardedFor_ClientSrcPort untuk mendapatkan port klien yang mengakses instans SLB. Nilai yang valid:
Nilai default: | v2.9.1 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-proto: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-slbport: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-clientsrcport: "on"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerAtur timeout koneksi idle untuk listener
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Hanya berlaku untuk protokol HTTP dan HTTPS.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout | Atur timeout koneksi idle untuk listener. Unit: detik. Nilai yang valid: [1, 60]. Nilai default: 15 | v2.1.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout: "30"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerNonaktifkan HTTP/2 untuk listener
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Hanya berlaku untuk protokol HTTPS.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Masuk ke Konsol CLB dan lihat ID sertifikat pada halaman Certificate Management. Catatan Untuk membuat sertifikat, lihat Pilih sertifikat yang dikeluarkan Alibaba Cloud. | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-http2-enabled | Aktifkan HTTP/2. Nilai yang valid:
Nilai default: | v2.1.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-http2-enabled: "off"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi timeout permintaan untuk listener
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Hanya berlaku untuk protokol HTTP dan HTTPS.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-request-timeout | Tentukan timeout permintaan. Unit: detik. Nilai yang valid: [1, 180]. Nilai default: 60 Jika server backend tidak merespons dalam periode timeout, instans SLB berhenti menunggu dan mengembalikan kode kesalahan HTTP 504 ke klien. | v2.3.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-request-timeout: "60"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerAtur timeout koneksi untuk listener
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-established-timeout
Hanya berlaku untuk protokol TCP.
Deskripsi | Versi CCM yang didukung |
Timeout koneksi. Unit: detik. Nilai yang valid: [10, 900]. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener. | v2.3.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-established-timeout: "60"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi kebijakan keamanan untuk listener
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Hanya berlaku untuk protokol HTTPS.
Anotasi | Deskripsi | Versi CCM yang didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,). Contoh: | v1.9.3 atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke Konsol CLB dan lihat ID sertifikat di halaman Certificate Management. Catatan Untuk membuat sertifikat, lihat Pilih sertifikat yang dikeluarkan Alibaba Cloud. | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy | Kebijakan keamanan mencakup versi TLS opsional dan suite algoritma enkripsi yang sesuai untuk HTTPS. Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPSListener. Nilai yang valid:
Nilai default: | v2.4.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443,http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy: "tls_cipher_policy_1_2"
name: nginx
namespace: default
spec:
ports:
- name: https
port: 443
protocol: TCP
targetPort: 443
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerKonfigurasi protokol TCP dan UDP untuk satu listener
Fitur ini memerlukan Kubernetes v1.24 atau yang lebih baru. Untuk memutakhirkan kluster Anda, lihat Tingkatkan kluster ACK.
apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
spec:
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: udp
port: 80
protocol: UDP
targetPort: 81
selector:
app: nginx
sessionAffinity: None
type: LoadBalancerKonfigurasi Proxy Protocol untuk listener TCP dan UDP
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol
Saat Anda mengakses Service melalui IP CLB dalam kluster, trafik permintaan mungkin dicegat secara internal, mengakibatkan akses abnormal. Untuk informasi lebih lanjut, lihat Mengatur Hostname untuk Service, yang menjelaskan cara menambahkan anotasi untuk memaksa trafik melewati CLB. Untuk detailnya, lihat Pertimbangan untuk Mengakses External IP Service LoadBalancer dari Dalam Kluster.
Deskripsi | Versi CCM yang didukung |
Konfigurasi Proxy Protocol untuk listener TCP dan UDP. Setelah dikonfigurasi, Proxy Protocol dapat membawa alamat sumber klien ke server backend. Nilai yang valid:
Nilai default: Penting Fitur ini tidak mendukung migrasi online yang mulus. Mengalihkan Proxy Protocol memerlukan gangguan layanan untuk pemutakhiran. Konfigurasikan dengan hati-hati. | v2.6.0 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol: "on"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerOperasi kelompok server backend umum
Gunakan node Worker dengan label tertentu sebagai server backend
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label
Deskripsi | Versi CCM yang didukung |
Tentukan node Worker mana yang akan dilampirkan ke backend CLB menggunakan label. Pisahkan beberapa label dengan koma (,), misalnya, | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label: "failure-domain.beta.kubernetes.io/zone=ap-southeast-5a"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerGunakan node tempat Pod berjalan sebagai server backend
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler
Secara default, externalTrafficPolicy diatur ke mode Cluster, yang melampirkan semua node dalam kluster ke kelompok server backend. Mode Local hanya melampirkan node tempat Pod berjalan.
Deskripsi | Versi CCM yang didukung |
Algoritma penjadwalan. Nilai yang valid:
Nilai default: | v1.9.3 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wrr"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerHapus unschedulable node dari kelompok server backend CLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend
Deskripsi | Versi CCM yang didukung |
Hapus node SchedulingDisabled dari backend CLB. Nilai yang valid:
Nilai default: | v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend: "on"
name: nginx
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 30080
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerPasang ENI Pod langsung ke backend CLB
Anotasi: service.beta.kubernetes.io/backend-type
Deskripsi | Nilai default | Versi CCM yang didukung |
Jenis server backend CLB. Nilai yang valid:
|
| v1.9.3.164-g2105d2e-aliyun atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/backend-type: "eni"
name: nginx
spec:
ports:
- name: http
port: 30080
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerGunakan kembali kelompok vServer yang ada
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port
Mendukung penggunaan kembali kelompok vServer yang ada. Ini hanya efektif saat menggunakan kembali instans CLB yang ada. Untuk contoh penggunaan, lihat Deploy layanan lintas kluster dengan menggunakan kembali instans SLB yang ada.
Atur bobot trafik untuk Service
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight
Saat beberapa Service menggunakan kembali instans CLB yang sama, Anda dapat menggunakan anotasi ini untuk mengatur bobot trafik untuk Service saat ini. Anotasi ini hanya efektif saat menggunakan kembali kelompok vServer yang ada. Untuk contoh penggunaan, lihat Deploy layanan lintas kluster dengan menggunakan kembali instans SLB yang ada.
Abaikan pembaruan bobot server backend
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update
Deskripsi | Versi CCM yang didukung |
Selama sinkronisasi Service, lewati pembaruan bobot server backend di kelompok vServer. Konfigurasi ini cocok untuk skenario di mana Anda perlu mengelola bobot server backend secara manual menggunakan mekanisme selain CCM. Nilai yang valid:
Nilai default: | v2.11.1 atau yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update: "on"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancer