Saat menggunakan Network Load Balancer (NLB) bersama Service, gunakan anotasi dalam file YAML untuk mengaktifkan fitur-fitur tambahan seperti menentukan jenis jaringan NLB, mengaktifkan mode baca-saja konfigurasi, dan mengonfigurasi otentikasi timbal balik. Topik ini menjelaskan cara mengonfigurasi NLB melalui anotasi dalam file YAML Service, mencakup sumber daya NLB, listener, dan kelompok server.
Indeks
Klasifikasi | Klasifikasi Fitur | Tautan Konfigurasi |
Create a Load Balancer | ||
Instance Configuration | ||
Security Configuration | ||
Create a Listener | ||
Listener Configuration | ||
Security Configuration | ||
Server Configuration | ||
Catatan
Versi kluster harus v1.24 atau lebih baru, dan versi Cloud Controller Manager (CCM) harus v2.5.0 atau lebih baru. Untuk meningkatkan versi kluster, lihat Upgrade kluster secara manual. Untuk meningkatkan komponen, lihat Manage components.
Tentukan
spec.loadBalancerClasssebagaialibabacloud.com/nlbdalam Service. Jika tidak ditentukan, Classic Load Balancer (CLB) akan dibuat secara default.Setelah Service dibuat,
spec.loadBalancerClasstidak dapat diubah. Sumber daya CLB dan NLB tidak dapat saling dikonversi.Konsol layanan kontainer tidak mendukung manajemen NLB. Gunakan perintah
kubectluntuk operasi tersebut.
Operasi NLB Umum
Buat NLB Publik
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps
Deskripsi | Versi CCM yang Didukung |
Tentukan zona NLB, alamat IP pribadi, dan informasi EIP dalam format:
| Zona dan vSwitchID: v2.5.0 dan lebih baru Alamat IP pribadi dan Elastic IP Address (EIP): v2.12.1 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerBuat NLB Pribadi
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type
Deskripsi | Versi CCM yang Didukung |
Tentukan NLB sebagai tipe jaringan pribadi. Anda dapat mengubah nilai anotasi ini untuk mengalihkan NLB antara jaringan publik dan pribadi. Nilai:
Nilai default: Login ke Konsol NLB untuk melihat wilayah dan zona yang didukung oleh NLB. Minimal diperlukan dua zona. Pisahkan beberapa zona dengan koma, seperti | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerTentukan Alamat IP Pribadi NLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps
Deskripsi | Versi CCM yang Didukung |
Tentukan zona NLB, alamat IP pribadi, dan informasi EIP dalam format:
|
|
apiVersion: v1
kind: Service
metadata:
annotations:
# Contoh: cn-hangzhou-k:vsw-i123456:10.1.0.1,cn-hangzhou-j:vsw-j654321:10.2.0.1
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A}:${private-ipv4-A},${zone-B}:${vsw-B}:${private-ipv4-B}"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerTentukan ID Instans EIP NLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps
Deskripsi | Versi CCM yang Didukung |
Tentukan zona NLB, alamat IP pribadi, dan informasi EIP dalam format:
| Zona dan vSwitchID: v2.5.0 dan lebih baru Alamat IP pribadi dan Elastic IP Address (EIP): v2.12.1 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
# Jika alamat IP pribadi tidak diperlukan, biarkan kosong.
# Contoh: cn-hangzhou-k:vsw-i123456::eip-12345,cn-hangzhou-j:vsw-j654321::eip-54321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A}::${eip-A},${zone-B}:${vsw-B}::${eip-B}"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerTentukan Nama NLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name
Deskripsi | Versi CCM yang Didukung |
Tentukan nama instans NLB. Nama NLB harus terdiri dari 2 hingga 128 karakter bahasa Inggris atau Tionghoa, dimulai dengan huruf besar/kecil atau karakter Tionghoa, serta boleh mengandung angka, titik (.), garis bawah (_), dan tanda hubung (-). | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name: "${your-nlb-name}" # Nama NLB.
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerTentukan Kelompok Sumber Daya NLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id
Deskripsi | Versi CCM yang Didukung |
Tentukan kelompok sumber daya tempat load balancer berada. ID kelompok sumber daya tidak dapat diubah setelah ditentukan. Login ke platform Resource Management Alibaba Cloud untuk mencari ID kelompok sumber daya. | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id: "${your-resource-group-id}" # ID kelompok sumber daya.
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerBuat NLB Dual-Stack
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version
Deskripsi | Versi CCM yang Didukung |
Tentukan versi protokol NLB. Tipe IP tidak dapat diubah setelah pembuatan. Saat menggunakan ini, mode proxy kube-proxy kluster harus IPVS. Nilai:
Nilai default: | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "DualStack"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerTambahkan Tag Tambahan ke NLB
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags
Deskripsi | Versi CCM yang Didukung |
Tambahkan tag tambahan. Pisahkan beberapa tag dengan koma (,). Contoh: Penting Jika Anda menambahkan anotasi ini ke Service untuk menentukan tag tambahan, modifikasi tambahan pada tag instans load balancer yang sesuai di konsol mungkin akan ditimpa. | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags: "Key1=Value1,Key2=Value2"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerGunakan Load Balancer yang Sudah Ada
Jangan menambahkan atau memodifikasi anotasi penggunaan ulang untuk Service LoadBalancer yang sudah ada. Operasi ini dapat menyebabkan kegagalan penggunaan ulang atau mencegah load balancer asli yang dibuat oleh CCM dilepas dengan benar.
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id | Tambahkan ID load balancer yang sudah ada. | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners | Tentukan apakah konfigurasi listener NLB disinkronkan berdasarkan Service. Nilai:
Nilai default: |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${your-nlb-id}" # ID NLB.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKaitkan Paket Bandwidth Internet Bersama
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth-package-id
Deskripsi | Versi CCM yang Didukung |
ID paket Internet Shared Bandwidth yang akan di-bind. Login ke Konsol VPC untuk mencari ID paket Internet Shared Bandwidth. | v2.9.1 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth-package-id: "cbwp-xxxxxxxxxx"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Cross-AZ Forwarding
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cross-zone-enabled
Deskripsi | Versi CCM yang Didukung |
Aktifkan atau nonaktifkan cross-AZ forwarding. Nilai:
Nilai default: | v2.13.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cross-zone-enabled: "off"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerTentukan Jenis Jaringan IPv6 Publik atau Pribadi
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version | Tentukan versi protokol NLB. Tipe IP tidak dapat diubah setelah pembuatan. Saat menggunakan ini, mode proxy kube-proxy kluster harus IPVS. Nilai:
Nilai default: | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ipv6-address-type | Tentukan tipe jaringan IPv6 NLB. Nilai:
Nilai default: Catatan Saat mengaktifkan IPv6 publik, VPC tempat instans NLB berada harus memiliki gateway IPv6. Untuk informasi selengkapnya, lihat Buat dan kelola gateway IPv6. | v2.9.1 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "DualStack"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ipv6-address-type: internet # Tentukan tipe jaringan IPv6 sebagai publik.
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerPertahankan Instans Load Balancer 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 NLB yang dibuat oleh Service. Hapus tag Saat fitur ini diaktifkan, event Peringatan bertipe Nilai:
Penting Hapus Service, bukan ubah tipe Service. Jika tidak, Service mungkin salah dikaitkan kembali dengan NLB yang sebelumnya dipertahankan. | v2.10.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete: "true"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerOperasi Listener Umum
Konfigurasikan Grup Keamanan Listener
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-security-group-ids
Deskripsi | Versi CCM yang Didukung |
Konfigurasikan grup keamanan listener. Pisahkan beberapa nilai dengan koma (,). Contoh: | v2.6.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-security-group-ids: "sg-aaaaa,sg-bbbbb" # Pisahkan beberapa grup keamanan dengan koma.
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Protokol TCP dan UDP untuk Listener
Deskripsi | Versi CCM yang Didukung |
Fitur ini memerlukan versi kluster Kubernetes v1.24 atau lebih baru. Untuk meningkatkan versi kluster, lihat Upgrade versi Kubernetes kluster ACK. | Tidak berlaku |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: udp
port: 80
protocol: UDP
targetPort: 81
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerBuat Listener TCP
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerBuat Listener UDP
Saat membuat listener UDP tanpa menentukan pemeriksaan kesehatan secara manual, pemeriksaan kesehatan TCP diaktifkan secara default untuk kelompok server. Saat menggunakan listener UDP, tentukan secara eksplisit pemeriksaan kesehatan UDP atau nonaktifkan pemeriksaan kesehatan menggunakan anotasi.
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: udp
port: 80
protocol: UDP
targetPort: 80
selector:
app: nginx
sessionAffinity: None
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerBuat Listener TCP/SSL
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Konfigurasikan tipe protokol listener. Pisahkan beberapa nilai dengan koma, seperti | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat server. Login ke Konsol Layanan Manajemen Sertifikat dan buat atau lihat di halaman SSL Certificate Management. Gambar berikut menunjukkan contohnya.
|
Saat ini, listener TCP/SSL tidak mendukung pengikatan kelompok server dengan pelestarian IP klien yang diaktifkan. Artinya, Anda tidak dapat mengonfigurasi anotasi service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:${port}" dan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-client-ip: "on" secara bersamaan. Untuk mendapatkan alamat IP klien melalui NLB, lihat Dapatkan alamat IP asal klien melalui NLB.
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${CertIdentifier}"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Range Port Listener
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range
Deskripsi | Versi CCM yang Didukung |
Hanya didukung dengan plug-in jaringan Terway. Konfigurasikan range alamat listener full port forwarding NLB untuk mendengarkan range port tertentu dan meneruskan trafik ke port backend server yang sesuai. Formatnya adalah
| v2.11.4 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
# Konfigurasikan listener untuk range port 80-100 dan 400-500.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range: "80-100:80,400-500:443"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
# targetPort adalah port pemeriksaan kesehatan server backend dan harus berupa bilangan bulat.
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerAktifkan Otentikasi Timbal Balik
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Konfigurasikan tipe protokol listener. Pisahkan beberapa nilai dengan koma, seperti | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat server. Login ke Konsol Layanan Manajemen Sertifikat dan buat atau lihat di halaman SSL Certificate Management. Gambar berikut menunjukkan contohnya.
| |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert-id | ID sertifikat CA. Login ke Konsol Layanan Manajemen Sertifikat dan lihat di detail sertifikat pada halaman PCA Certificate Management.
| |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert | Aktifkan atau nonaktifkan otentikasi timbal balik. Nilai:
Nilai default: |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${CertIdentifier}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert-id: "${your-cacert-id}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert: "on"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Kebijakan Keamanan TLS
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Konfigurasikan tipe protokol listener. Pisahkan beberapa nilai dengan koma, seperti | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat server. Login ke Konsol Layanan Manajemen Sertifikat dan buat atau lihat di halaman SSL Certificate Management. Gambar berikut menunjukkan contohnya.
| |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy | ID kebijakan keamanan. Mendukung kebijakan keamanan sistem dan kebijakan keamanan kustom. Nilai:
Nilai default: |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${CertIdentifier}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy: "tls_cipher_policy_1_0"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Proxy Protocol
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol
Deskripsi | Versi CCM yang Didukung |
Aktifkan atau nonaktifkan pembawaan alamat IP sumber klien ke server melalui Proxy Protocol. Nilai:
Nilai default: Penting Sebelum mengaktifkan Proxy Protocol, periksa apakah layanan backend telah mengaktifkan Proxy Protocol v2. Jika tidak, akses mungkin gagal. Konfigurasikan dengan hati-hati. | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol: "on"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerProxy Protocol Membawa Informasi Tambahan
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol | Aktifkan atau nonaktifkan pembawaan alamat IP sumber klien ke server melalui Proxy Protocol. Nilai:
Nilai default: Penting Sebelum mengaktifkan Proxy Protocol, periksa apakah layanan backend telah mengaktifkan Proxy Protocol v2. Jika tidak, akses mungkin gagal. Konfigurasikan dengan hati-hati. | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-vpc-id-enabled | Aktifkan atau nonaktifkan pembawaan ID VPC ke server backend melalui Proxy Protocol. Nilai:
Nilai default: | v2.9.1 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-ep-id-enabled | Aktifkan atau nonaktifkan pembawaan PrivateLinkEpId ke server backend melalui Proxy Protocol. Nilai:
Nilai default: | v2.9.1 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-eps-id-enabled | Aktifkan atau nonaktifkan pembawaan PrivateLinkEpsId ke server backend melalui Proxy Protocol. Nilai:
Nilai default: | v2.9.1 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-ep-id-enabled: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-eps-id-enabled: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-vpc-id-enabled: "on"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Batas Laju Koneksi Baru Listener (CPS)
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cps
Deskripsi | Versi CCM yang Didukung |
Batas laju koneksi baru (CPS) per detik untuk instans Network Load Balancer. Rentang nilai: [0, 1000000]. 0 berarti tanpa batas laju. | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cps: "100"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Timeout Idle Koneksi Listener
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout
Deskripsi | Versi CCM yang Didukung |
Timeout idle koneksi. Satuan: detik. Rentang nilai: [10, 900]. Nilai default: 900 | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout: "60"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Kebijakan ALPN
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Konfigurasikan tipe protokol listener. Pisahkan beberapa nilai dengan koma, seperti | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat server. Login ke Konsol Layanan Manajemen Sertifikat dan buat atau lihat di halaman SSL Certificate Management. Gambar berikut menunjukkan contohnya.
| |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-alpn | Aktifkan atau nonaktifkan ALPN. Nilai:
Nilai default: | v2.10.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-alpn-policy | Kebijakan ALPN. Nilai:
Untuk nilai lainnya, lihat bidang |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${CertIdentifier}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-alpn: "on"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-alpn-policy: "HTTP1Only"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Sertifikat Tambahan
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Konfigurasikan tipe protokol listener. Pisahkan beberapa nilai dengan koma (,). Contoh: | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat server. Masuk ke Konsol Layanan Manajemen Sertifikat dan buat atau lihatnya di halaman SSL Certificate Management. Gambar berikut menunjukkan contohnya.
| |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-cert-ids | ID sertifikat tambahan. Pisahkan beberapa sertifikat tambahan dengan koma (,). Login ke Konsol Layanan Manajemen Sertifikat dan buat atau lihat di halaman SSL Certificate Management. Gambar berikut menunjukkan contohnya.
|
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${CertIdentifier}"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-cert-ids: "${CertIdentifier-1},${CertIdentifier-2}" # Pisahkan beberapa sertifikat tambahan dengan koma.
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerOperasi Kelompok Server Umum
Konfigurasikan Kebijakan Penjadwalan
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler
Deskripsi | Versi CCM yang Didukung |
Algoritma penjadwalan. Nilai:
Nilai default: Untuk nilai lainnya, lihat bidang | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "sch"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Pengurasan Koneksi
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain | Aktifkan atau nonaktifkan pengurasan koneksi. Jika diaktifkan, saat server backend dihapus atau gagal dalam pemeriksaan kesehatan, tindakan berikut terjadi:
Nilai default: | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout | Konfigurasikan timeout pengurasan koneksi.
|
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
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:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Pelestarian IP Klien
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-client-ip
Deskripsi | Versi CCM yang Didukung |
Aktifkan atau nonaktifkan pelestarian IP klien. Nilai:
Nilai default: | v2.5.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-client-ip: "on"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Pemeriksaan Kesehatan TCP
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Semua anotasi berikut wajib untuk mengonfigurasi pemeriksaan kesehatan TCP. Pemeriksaan kesehatan diaktifkan secara default untuk port TCP.
Anotasi | Deskripsi |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag | Aktifkan atau nonaktifkan pemeriksaan kesehatan. Nilai:
Nilai default: |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Protokol pemeriksaan kesehatan. Nilai:
Nilai default: |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port | Port server untuk pemeriksaan kesehatan. Rentang nilai: [0, 65535]. Nilai default: 0, yang berarti menggunakan port server untuk pemeriksaan kesehatan. |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout | Timeout respons pemeriksaan kesehatan maksimum. Satuan: detik. Rentang nilai: [1, 300]. Nilai default: 5 |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan sukses berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server dari gagal menjadi sehat. Rentang nilai: [2, 10]. Nilai default: 2 |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server dari sehat menjadi gagal. Rentang nilai: [2, 10]. Nilai default: 2 |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval pemeriksaan kesehatan. Satuan: detik. Rentang nilai: [1, 50]. Nilai default: 10 |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag: "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: "5"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Pemeriksaan Kesehatan HTTP
Anotasi: Beberapa, seperti ditunjukkan pada tabel berikut. Semua anotasi berikut wajib untuk mengonfigurasi pemeriksaan kesehatan HTTP. Pemeriksaan kesehatan diaktifkan secara default untuk port TCP.
Anotasi | Deskripsi | Versi CCM yang Didukung |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag | Aktifkan atau nonaktifkan pemeriksaan kesehatan. Nilai:
Nilai default: | v2.5.0 dan lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Protokol pemeriksaan kesehatan. Nilai:
Nilai default: | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri | Jalur pemeriksaan kesehatan. Panjang: 1 hingga 80 karakter. Hanya huruf, angka, dan karakter tertentu yang diizinkan. Harus dimulai dengan garis miring (/). Untuk informasi selengkapnya, lihat CreateServerGroup. Catatan Parameter ini hanya berlaku saat | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain | Nama domain yang digunakan untuk pemeriksaan kesehatan. Nilai:
Catatan Parameter ini hanya berlaku saat | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port | Port server untuk pemeriksaan kesehatan. Rentang nilai: [0, 65535]. Nilai default: 0, yang berarti menggunakan port server untuk pemeriksaan kesehatan. | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout | Timeout respons pemeriksaan kesehatan maksimum. Satuan: detik. Rentang nilai: [1, 300]. Nilai default: 5 | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan sukses berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server dari gagal menjadi sehat. Rentang nilai: [2, 10]. Nilai default: 2 | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server dari sehat menjadi gagal. Rentang nilai: [2, 10]. Nilai default: 2 | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval pemeriksaan kesehatan. Satuan: detik. Rentang nilai: [1, 50]. Nilai default: 10 | |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method | Metode pemeriksaan kesehatan. Nilai:
Catatan Parameter ini hanya berlaku saat |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
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-health-check-domain: "www.test.com"
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-connect-timeout: "10"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "5"
# Konfigurasikan metode pemeriksaan kesehatan. Anotasi ini opsional.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method: "head"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerKonfigurasikan Jenis Kelompok Server
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-server-group-type
Deskripsi | Versi CCM yang Didukung |
Konfigurasikan jenis kelompok server. Nilai:
Nilai default: Untuk klasifikasi dan deskripsi kelompok server NLB, lihat Kelompok server NLB. | v2.8.0 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-server-group-type: "Ip"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancerGunakan Ulang Kelompok Server yang Sudah Ada
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port
Gunakan ulang kelompok vServer yang sudah ada. Ini hanya berlaku saat menggunakan ulang NLB yang sudah ada. Untuk contoh spesifik, lihat Deploy layanan lintas kluster dengan menggunakan ulang load balancer yang sudah ada.
Konfigurasikan Bobot Trafik Service
Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight
Saat beberapa Service menggunakan ulang NLB yang sama, gunakan anotasi ini untuk mengonfigurasi bobot trafik untuk Service saat ini. Anotasi ini hanya berlaku saat menggunakan ulang kelompok server yang sudah ada. Untuk contoh spesifik, lihat Deploy layanan lintas kluster dengan menggunakan ulang load balancer yang sudah 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 dalam kelompok server. Konfigurasi ini berlaku untuk skenario di mana Anda perlu mengelola bobot server backend secara manual melalui mekanisme selain CCM. Nilai:
Nilai default: | v2.11.1 dan lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contoh: cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update: "on"
name: nginx
namespace: default
spec:
externalTrafficPolicy: Local
ports:
- name: tcp
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
app: nginx
loadBalancerClass: "alibabacloud.com/nlb"
type: LoadBalancer
