All Products
Search
Document Center

Container Compute Service:Konfigurasikan instans NLB menggunakan anotasi

Last Updated:Nov 09, 2025

Network Load Balancer (NLB) adalah layanan load balancing lapisan 4 dari Alibaba Cloud yang menawarkan performa tinggi dan auto-scaling. Anda dapat menggunakan anotasi dalam file YAML untuk mengonfigurasi berbagai fitur load balancing. Topik ini menjelaskan cara menggunakan anotasi untuk mengonfigurasi instance NLB, listener, dan kelompok server.

Perhatian

  • Versi komponen cloud controller manager (CCM) di klaster ACK harus 2.5.0 atau lebih baru. Untuk meningkatkan komponen, lihat Kelola Komponen.

  • Dalam layanan, atur spec.loadBalancerClass ke alibabacloud.com/nlb. Jika bidang ini tidak ditentukan, sebuah instance Classic Load Balancer (CLB) akan dibuat secara default.

  • Setelah layanan dibuat, nilai dari spec.loadBalancerClass tidak dapat diubah. Anda tidak dapat mengonversi instance CLB menjadi instance NLB atau sebaliknya.

Operasi NLB tipikal

Buat instance NLB yang menghadap publik

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps

Deskripsi

Nilai default

Versi CCM yang didukung

Menentukan zona untuk instance NLB.

Untuk melihat wilayah dan zona yang didukung oleh NLB, masuk ke Konsol NLB. Anda harus menentukan setidaknya dua zona berbeda. Pisahkan beberapa zona dengan koma (,), contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.

Catatan

NLB mendukung penyebaran multi-zona. Untuk memastikan ketersediaan tinggi, pilih vSwitch di setidaknya dua zona berbeda jika wilayah saat ini memiliki dua zona atau lebih.

Tidak ada

2.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}" # Contohnya, cn-hangzhou-k:vsw-***** dan cn-hangzhou-j:vsw-*****. Untuk memastikan ketersediaan tinggi, pilih vSwitch di setidaknya dua zona berbeda.
  name: nginx
  namespace: default
spec:
  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

Buat instance NLB privat

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type

Deskripsi

Nilai default

Versi CCM yang Didukung

Menentukan jenis jaringan dari instance NLB. Anda dapat mengubah nilai anotasi ini untuk beralih antara instance NLB yang menghadap publik dan privat. Nilai valid:

  • internet: instance NLB yang menghadap publik.

  • intranet: instance NLB privat.

Untuk melihat wilayah dan zona yang didukung oleh NLB, masuk ke Konsol NLB. Anda harus menentukan setidaknya dua zona berbeda. Pisahkan beberapa zona dengan koma (,), contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.

Catatan

NLB mendukung penyebaran multi-zona. Untuk memastikan ketersediaan tinggi, pilih vSwitch di setidaknya dua zona berbeda jika wilayah saat ini memiliki dua zona atau lebih.

internet

2.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}" # Contohnya, 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:
  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

Tentukan nama untuk instance NLB

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name

Deskripsi

Nilai default

Versi CCM yang didukung

Menentukan nama dari instance NLB. Nama tersebut harus memiliki panjang 2 hingga 128 karakter, dimulai dengan huruf atau karakter Cina, dan dapat berisi angka, titik (.), garis bawah (_), dan tanda hubung (-).

Tidak ada

2.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}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name: "${your-nlb-name}" # Nama dari instance NLB.
  name: nginx
  namespace: default
spec:
  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

Tentukan kelompok sumber daya untuk instance NLB

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id

Deskripsi

Nilai default

Versi CCM yang didukung

Menentukan kelompok sumber daya tempat instance NLB milik. Setelah Anda menentukan ID kelompok sumber daya, Anda tidak dapat mengubahnya.

Anda dapat masuk ke Platform Manajemen Sumber Daya Alibaba Cloud untuk menanyakan ID kelompok sumber daya.

Tidak ada

2.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}" # Contohnya, 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 dari kelompok sumber daya.
  name: nginx
  namespace: default
spec:
  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

Buat instance NLB dual-stack

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

Deskripsi

Nilai default

Versi CCM yang didukung

Menentukan versi IP dari instance NLB. Setelah instance dibuat, Anda tidak dapat mengubah versi IP. Nilai valid:

  • ipv4: IPv4.

  • DualStack: dual-stack. Instance mendukung baik IPv4 maupun IPv6.

    • Dua vSwitch yang ditentukan dalam service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps harus memiliki IPv6 diaktifkan.

    • Alamat IPv6 yang dihasilkan hanya dapat diakses dalam lingkungan yang mendukung IPv6.

ipv4

2.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}" # Contohnya, 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:
  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: LoadBalancer

Tambahkan tag tambahan ke instance NLB

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags

Deskripsi

Nilai default

Versi CCM yang didukung

Menambahkan tag tambahan ke instance. Pisahkan beberapa tag dengan koma (,), contohnya, k1=v1,k2=v2.

Tidak ada

2.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}" # Contohnya, 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:
  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: LoadBalancer

Gunakan instance NLB yang ada

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id

ID dari instance NLB yang sudah ada.

Tidak ada

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners

Menentukan apakah akan menyinkronkan konfigurasi listener NLB berdasarkan layanan. Nilai valid:

  • true: CCM membuat, memperbarui, dan menghapus listener NLB berdasarkan konfigurasi layanan.

  • false: CCM tidak melakukan operasi apa pun pada listener NLB.

false

2.5.0 dan lebih baru

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${your-nlb-id}" # ID dari instance NLB.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true"
  name: nginx
  namespace: default
spec:
  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: LoadBalancer

Lampirkan instance Bandwidth Internet Bersama

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth-package-id

Deskripsi

Nilai default

Versi CCM yang didukung

ID dari instance Bandwidth Internet Bersama yang akan dilampirkan.

Anda dapat masuk ke Konsol VPC untuk menanyakan ID dari instance Bandwidth Internet Bersama.

Tidak ada

2.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}" # Contohnya, 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:
  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: LoadBalancer

Tentukan jenis jaringan untuk IPv6

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

Menentukan versi IP dari instance NLB. Setelah instance dibuat, Anda tidak dapat mengubah versi IP. Saat menggunakan anotasi ini, mode kube-proxy klaster harus IPVS. Nilai valid:

  • ipv4: IPv4.

  • DualStack: dual-stack. Instance mendukung baik IPv4 maupun IPv6.

    • Dua vSwitch yang ditentukan dalam service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps harus memiliki IPv6 diaktifkan.

    • Alamat IPv6 yang dihasilkan hanya dapat diakses dalam lingkungan yang mendukung IPv6.

ipv4

2.5.0 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ipv6-address-type

Menentukan jenis jaringan IPv6 dari instance NLB. Nilai valid:

  • intranet: privat IPv6

  • internet: publik IPv6

Catatan

Saat Anda mengaktifkan alamat IPv6 publik, gateway IPv6 harus tersedia di VPC tempat instance NLB berada. Untuk informasi lebih lanjut, lihat Buat dan kelola gateway IPv6.

intranet

2.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}" # Contohnya, 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 # Atur jenis jaringan IPv6 menjadi publik.
  name: nginx
  namespace: default
spec:
  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: LoadBalancer

Pertahankan instance NLB yang dibuat otomatis saat menghapus layanan

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete

Deskripsi

Versi CCM yang didukung

Memperoleh kembali instance NLB yang dibuat oleh layanan saat Anda menghapus layanan LoadBalancer. Tag kubernetes.do.not.delete dan ack.aliyun.com pada instance NLB dan kelompok server dihapus. Server yang ada di kelompok server dipertahankan.

Saat fitur ini diaktifkan, sebuah event peringatan PreservedOnDelete dihasilkan selama sinkronisasi layanan. Setelah Anda mengonfigurasi anotasi ini, kami sarankan Anda memeriksa apakah event ini ada untuk memastikan bahwa fitur tersebut diaktifkan.

Nilai valid:

  • Tidak kosong: mengaktifkan fitur retensi.

  • Kosong atau tidak disetel: menonaktifkan fitur retensi.

Penting

Lakukan operasi ini dengan menghapus layanan bukan dengan mengubah tipe layanan. Jika tidak, layanan mungkin salah diasosiasikan ulang dengan instance NLB yang sebelumnya dipertahankan.

2.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}" # Contohnya, 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: LoadBalancer

Operasi listener tipikal

Atur grup keamanan untuk listener

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-security-group-ids

Deskripsi

Nilai default

Versi CCM yang didukung

Mengatur grup keamanan untuk Pendengar. Pisahkan beberapa ID grup keamanan dengan koma (,), misalnya, sg-aaaaa,sg-bbbbb.

Tidak ada

2.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}" # Contohnya, 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:
  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

Konfigurasikan protokol TCP dan UDP untuk listener

Deskripsi

Nilai default

Versi CCM yang didukung

Fitur ini memerlukan versi klaster Kubernetes 1.24 atau lebih baru. Untuk informasi lebih lanjut tentang cara meningkatkan klaster, lihat Tingkatkan klaster ACK.

Tidak ada

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}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
  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
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

Buat 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}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
  name: nginx
  namespace: default
spec:
  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: LoadBalancer

Buat listener UDP

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
  name: nginx
  namespace: default
spec:
  ports:
  - name: udp
    port: 80
    protocol: UDP
    targetPort: 80
  selector:
    app: nginx
  sessionAffinity: None
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

Buat listener TCP-over-SSL

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port

Menetapkan protokol untuk listener. Pisahkan beberapa nilai dengan koma (,), contohnya, TCP:80,TCPSSL:443.

Tidak ada

2.5.0 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id

ID sertifikat server. Anda dapat masuk ke Konsol Layanan Manajemen Sertifikat untuk membuat dan melihat sertifikat.

Tidak ada

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
    # Jika klaster berada di wilayah di daratan Tiongkok, ID sertifikat gabungan adalah ${your-cert-id}-cn-hangzhou.
    # Jika klaster berada di wilayah luar daratan Tiongkok, ID sertifikat gabungan adalah ${your-cert-id}-ap-southeast-1.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${The combined certificate ID}"
  name: nginx
  namespace: default
spec:
  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

Aktifkan autentikasi mutual

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port

Menetapkan protokol untuk listener. Pisahkan beberapa nilai dengan koma (,), contohnya, TCP:80,TCPSSL:443.

Tidak ada

2.5.0 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id

ID sertifikat server. Anda dapat masuk ke Konsol Layanan Manajemen Sertifikat untuk melihat sertifikat.

Tidak ada

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert-id

ID sertifikat CA. Anda dapat masuk ke Konsol Layanan Manajemen Sertifikat untuk melihat sertifikat.

Tidak ada

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert

Menentukan apakah akan mengaktifkan autentikasi mutual. Nilai valid:

  • on: Diaktifkan.

  • off: Dimatikan.

Tidak ada

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"   
    # Jika klaster berada di wilayah di daratan Tiongkok, ID sertifikat gabungan adalah ${your-cert-id}-cn-hangzhou.
    # Jika klaster berada di wilayah luar daratan Tiongkok, ID sertifikat gabungan adalah ${your-cert-id}-ap-southeast-1.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${The combined certificate ID}" 
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert-id: "${your-cacert-id}"  # ID sertifikat CA.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cacert: "on"
  name: nginx
  namespace: default
spec:
  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

Atur kebijakan keamanan TLS

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port

Menetapkan protokol untuk listener. Pisahkan beberapa nilai dengan koma (,), contohnya, TCP:80,TCPSSL:443.

Tidak ada

2.5.0 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id

ID sertifikat server. Anda dapat masuk ke Konsol Layanan Manajemen Sertifikat untuk melihat sertifikat.

Tidak ada

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy

ID kebijakan keamanan. Kebijakan keamanan sistem dan kebijakan keamanan kustom didukung. Nilai valid:

  • tls_cipher_policy_1_0

  • tls_cipher_policy_1_1

  • tls_cipher_policy_1_2

  • tls_cipher_policy_1_2_strict

  • tls_cipher_policy_1_2_strict_with_1_3

tls_cipher_policy_1_0

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Misalnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "tcpssl:443"
    # Jika kluster berada di wilayah di daratan Tiongkok, ID sertifikat gabungannya adalah ${your-cert-id}-cn-hangzhou.
    # Jika kluster berada di wilayah di luar daratan Tiongkok, ID sertifikat gabungannya adalah ${your-cert-id}-ap-southeast-1.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${ID sertifikat gabungan}" 
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy: "tls_cipher_policy_1_0"
  name: nginx
  namespace: default
spec:
  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

Atur mode Proxy Protocol

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol

Deskripsi

Nilai default

Versi CCM yang didukung

Menentukan apakah akan menggunakan Proxy Protocol untuk meneruskan alamat IP klien ke server backend. Nilai valid:

  • on: mengaktifkan fitur ini.

  • off: menonaktifkan fitur ini.

Penting

Sebelum Anda mengaktifkan Proxy Protocol, pastikan bahwa Proxy Protocol v2 diaktifkan untuk layanan backend. Jika tidak, akses mungkin gagal. Konfigurasikan parameter ini dengan hati-hati.

off

2.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}" # Contohnya, 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:
  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

Bawa informasi tambahan melalui Proxy Protocol

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol

Menentukan apakah akan menggunakan Proxy Protocol untuk meneruskan alamat IP klien ke server backend. Nilai valid:

  • on: mengaktifkan fitur ini.

  • off: menonaktifkan fitur ini.

Penting

Sebelum Anda mengaktifkan Proxy Protocol, pastikan bahwa Proxy Protocol v2 diaktifkan untuk layanan backend. Jika tidak, akses mungkin gagal. Konfigurasikan parameter ini dengan hati-hati.

off

2.5.0 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-vpc-id-enabled

Menentukan apakah akan membawa VpcId ke server backend melalui Proxy Protocol. Nilai valid:

  • on: mengaktifkan fitur ini.

  • off: menonaktifkan fitur ini.

off

2.9.1 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-ep-id-enabled

Menentukan apakah akan membawa PrivateLinkEpId ke server backend melalui Proxy Protocol. Nilai valid:

  • on: mengaktifkan fitur ini.

  • off: menonaktifkan fitur ini.

off

2.9.1 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ppv2-pvl-eps-id-enabled

Menentukan apakah akan membawa PrivateLinkEpsId ke server backend melalui Proxy Protocol. Nilai valid:

  • on: mengaktifkan fitur ini.

  • off: menonaktifkan fitur ini.

off

2.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}" # Contohnya, 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:
  ports:
  - name: tcp
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

Atur jumlah maksimum koneksi baru per detik untuk listener

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cps

Deskripsi

Nilai default

Versi CCM yang Didukung

Jumlah maksimum koneksi baru yang dapat dibuat per detik pada Instans NLB. Nilai valid: 0 hingga 1.000.000. Nilai 0 menunjukkan bahwa jumlah koneksi baru tidak terbatas.

Tidak ada

2.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}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cps: "100"
  name: nginx
  namespace: default
spec:
  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

Atur periode timeout koneksi idle untuk listener

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout

Deskripsi

Nilai default

Versi CCM yang Didukung

Periode timeout koneksi idle. Unit: detik. Nilai valid: 10 hingga 900.

900

2.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}" # Contohnya, 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:
  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

Konfigurasikan rentang port listener

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-listener-port-range

Deskripsi

Versi CCM yang didukung

Dengan mengonfigurasi rentang port listener untuk penerusan semua port pada instance NLB, Anda dapat mendengarkan rentang port tertentu dan meneruskan lalu lintas ke port yang sesuai dari server backend.

Formatnya adalah Rentang Port:Port Layanan. Pisahkan beberapa nilai dengan koma (,), contohnya, 80-100:80,400-500:443. Port dan rentang port untuk protokol yang sama tidak boleh tumpang tindih.

targetPort adalah port pemeriksaan kesehatan server backend. Nilainya harus berupa bilangan bulat dari 1 hingga 65535.

2.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}" # Misalnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    # Konfigurasikan Pendengar 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 dari server backend. Nilainya harus berupa integer.
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  loadBalancerClass: "alibabacloud.com/nlb"
  type: LoadBalancer

Operasi kelompok server tipikal

Atur algoritma penjadwalan

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler

Deskripsi

Nilai default

Versi CCM yang didukung

Algoritma penjadwalan. Nilai valid:

  • wrr (default): round-robin berbobot. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan daripada yang memiliki bobot lebih rendah.

  • rr: round-robin. Permintaan didistribusikan ke server backend secara berurutan.

  • sch: hash IP sumber. Permintaan dari IP sumber yang sama diteruskan ke server backend yang sama.

  • tch: hash empat-tupel. Hash konsisten berdasarkan empat-tupel (IP sumber, IP tujuan, port sumber, dan port tujuan). Stream yang sama dijadwalkan ke server yang sama.

  • wlc: jumlah koneksi paling sedikit dengan bobot. Selain bobot setiap server backend, jumlah koneksi ke setiap server backend juga dipertimbangkan. Saat server backend memiliki bobot yang sama, server backend dengan jumlah koneksi aktif paling sedikit menerima lebih banyak permintaan.

Untuk informasi lebih lanjut tentang nilai-nilai yang mungkin untuk opsi ini, lihat bidang Scheduler dalam CreateServerGroup.

wrr

2.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}" # Contohnya, cn-hangzhou-k:vsw-i123456,cn-hangzhou-j:vsw-j654321.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "sch"
  name: nginx
  namespace: default
spec:
  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

Konfigurasikan connection draining

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut.

Anotasi

Deskripsi

Nilai default

Versi CCM yang didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain

Menentukan apakah akan mengaktifkan pengurasan koneksi. Nilai valid:

  • on: Diaktifkan.

  • off: Dimatikan.

off

2.5.0 dan lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout

Periode timeout untuk pengurasan koneksi. Unit: detik. Nilai valid: 10 hingga 900.

Tidak ada

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contohnya, 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:
  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

Aktifkan pelestarian IP klien

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-client-ip

Deskripsi

Nilai default

Versi CCM yang didukung

Menentukan apakah akan mengaktifkan pelestarian IP klien. Nilai yang valid:

  • on: mengaktifkan fitur.

  • off: menonaktifkan fitur.

on

2.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}" # Contohnya, 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:
  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

Konfigurasikan health check TCP

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut. Anotasi ini mengonfigurasi pemeriksaan kesehatan TCP. Semua anotasi berikut diperlukan. Pemeriksaan kesehatan diaktifkan secara default untuk port TCP.

Anotasi

Deskripsi

Nilai default

Versi CCM yang Didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag

Menentukan apakah akan mengaktifkan health check. Nilai valid:

  • on: Diaktifkan.

  • off: Dimatikan.

on

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type

Protokol pemeriksaan kesehatan. Nilai yang valid:

  • tcp

  • http

tcp

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port

Port pada server backend yang digunakan untuk pemeriksaan kesehatan. Nilai valid: 0 hingga 65535. Nilai default 0 menunjukkan bahwa port dari server backend digunakan.

0

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout

Periode waktu maksimum untuk tanggapan pemeriksaan kesehatan. Satuan: detik. Nilai valid: 1 hingga 300.

5

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold

Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan sebelum server backend dinyatakan sehat. Nilai valid: 2 hingga 10.

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold

Jumlah pemeriksaan kesehatan yang gagal secara berturut-turut yang diperlukan sebelum server backend dinyatakan tidak sehat. Nilai valid: 2 hingga 10.

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval

Interval antara dua pemeriksaan kesehatan berturut-turut. Satuan: detik. Nilai valid: 1 hingga 50.

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:  
  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

Konfigurasikan health check HTTP

Anotasi: Beberapa, seperti yang ditunjukkan dalam tabel berikut. Anotasi ini mengonfigurasi pemeriksaan kesehatan HTTP. Semua anotasi berikut diperlukan. Pemeriksaan kesehatan diaktifkan secara default untuk port TCP.

Anotasi

Deskripsi

Nilai default

Versi CCM yang Didukung

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag

Menentukan apakah akan mengaktifkan pemeriksaan kesehatan. Nilai valid:

  • on: Diaktifkan.

  • off: Menentukan sebuah shutdown.

on

2.5.0 dan yang lebih baru

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type

Protokol pemeriksaan kesehatan. Nilai yang valid:

  • tcp

  • http

http

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri

Path yang digunakan untuk pemeriksaan kesehatan. Path harus memiliki panjang 1 hingga 80 karakter dan dapat berisi huruf, angka, serta karakter khusus. Path harus dimulai dengan garis miring (/). Untuk informasi lebih lanjut, lihat CreateServerGroup.

Catatan

Parameter ini hanya berlaku jika service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type diatur ke HTTP.

Tidak ada

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain

Nama domain untuk pemeriksaan kesehatan. Nilai yang valid:

  • $_ip: Gunakan Alamat IP pribadi dari server.

  • domain: Nama domain tertentu. Nama domain harus memiliki panjang 1 hingga 80 karakter dan dapat berisi huruf kecil, angka, tanda hubung (-), serta tanda titik (.).

Catatan

Parameter ini hanya berlaku ketika service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type diatur ke HTTP.

Tidak ada

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port

Port pada server backend yang digunakan untuk pemeriksaan kesehatan. Nilai valid: 0 hingga 65535. Nilai default 0 menunjukkan bahwa port dari server backend digunakan.

0

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout

Periode timeout maksimum untuk tanggapan pemeriksaan kesehatan. Satuan: detik. Nilai valid: 1 hingga 300.

5

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold

Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan sebelum server backend dinyatakan sehat. Nilai valid: 2 hingga 10.

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold

Jumlah pemeriksaan kesehatan yang gagal secara berturut-turut yang diperlukan sebelum server backend dinyatakan tidak sehat. Nilai valid: 2 hingga 10.

2

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval

Interval antara dua pemeriksaan kesehatan berturut-turut. Unit: detik. Nilai valid: 1 hingga 50.

10

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method

Metode pemeriksaan kesehatan. Nilai valid:

  • GET

  • HEAD

Catatan

Parameter ini hanya berlaku saat service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type disetel ke HTTP.

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: "${zone-A}:${vsw-A},${zone-B}:${vsw-B}" # Contohnya, 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"
    # Atur metode pemeriksaan kesehatan. Anotasi ini opsional.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method: "head"
  name: nginx
  namespace: default
spec:
  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: LoadBalancer

Atur tipe grup server

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-server-group-type

Deskripsi

Nilai default

Versi CCM yang didukung

Mengatur tipe grup server. Nilai yang valid:

  • Ip: Tipe alamat IP. Anda dapat langsung menambahkan server backend dengan tipe alamat IP.

  • Instance (default): Tipe instans. Anda dapat menambahkan instans dari tipe ECS dan ENI.

Untuk informasi lebih lanjut tentang klasifikasi dan deskripsi grup server NLB, lihat Grup server NLB.

Instance

2.8.0 dan yang 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}" # Contohnya, 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:
  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

Gunakan kembali kelompok server yang ada

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port

Anotasi ini memungkinkan Anda menggunakan kembali kelompok vServer yang ada. Anotasi ini hanya berlaku ketika Anda menggunakan kembali Instance NLB yang ada. Untuk contoh penggunaan, lihat Menyebarkan Layanan di Seluruh Kluster dengan Menggunakan Kembali Instance SLB yang Ada.

Tetapkan bobot layanan untuk menerima lalu lintas

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight

Ketika beberapa layanan menggunakan kembali Instance NLB yang sama, Anda dapat menggunakan anotasi ini untuk menetapkan bobot lalu lintas untuk layanan saat ini. Anotasi ini hanya berlaku ketika Anda menggunakan kembali kelompok server yang ada. Untuk contoh penggunaan, lihat Menyebarkan Layanan di Seluruh Kluster dengan Menggunakan Kembali Instance SLB yang Ada.

Abaikan pembaruan bobot server backend

Anotasi: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ignore-weight-update

Deskripsi

Versi CCM yang didukung

Mengabaikan pembaruan bobot server backend dalam kelompok server selama sinkronisasi layanan. Konfigurasi ini cocok untuk skenario di mana Anda perlu mengelola bobot server backend secara manual. Nilai yang valid:

  • on

  • off

Nilai default: off

2.11.1 dan yang 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}" # Contohnya, 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