全部产品
Search
文档中心

Container Service for Kubernetes:Konfigurasi Classic Load Balancer (CLB) Menggunakan Anotasi

更新时间:Mar 07, 2026

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

Catatan penggunaan anotasi

Operasi CLB umum

Buat load balancer

Gunakan instans yang ada

Konfigurasi load balancer

Aktifkan perlindungan instans

Operasi listener umum

Konfigurasi persistensi sesi

Konfigurasi port dan protokol

Konfigurasi lanjutan

Operasi kelompok server backend umum

Manajemen konfigurasi

Referensi

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 annotations berubah dari alicloud menjadi alibaba-cloud.

    Contoh:

    Sebelumnya: service.beta.kubernetes.io/alicloud-loadbalancer-id

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

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

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

  • internet: Layanan dapat diakses melalui Internet. Address Type CLB yang sesuai harus diatur ke Internet.

  • intranet: Layanan hanya dapat diakses dalam jaringan pribadi. Address Type CLB yang sesuai harus diatur ke Intranet.

Nilai default: internet

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:

  • Versi CCM sebelum v2.13.0: Gunakan vSwitch pertama yang dikonfigurasi untuk lapisan kontrol kluster.

  • Versi 2.13.0 dan yang lebih baru secara otomatis memilih vSwitch yang tersedia.

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

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

  • PayBySpec: Bayar berdasarkan spesifikasi.

  • PayByCLCU: Bayar berdasarkan penggunaan.

Nilai default: PayBySpec

Penting
  • Nilai default berubah menjadi PayByCLCU untuk Cloud Controller Manager v2.5.0 atau yang lebih baru.

  • Anda tidak dapat mengubah spesifikasi instans SLB pay-by-LCU. Artinya, nilai PayByCLCU dan anotasi service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec tidak dapat ditentukan secara bersamaan.

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:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

Nilai default: slb.s1.small

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

Gunakan Instance SLB yang ada

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

Deskripsi

Versi CCM yang didukung

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).

  • Jangan menambahkan atau memodifikasi anotasi reuse untuk Service LoadBalancer yang sudah ada. Operasi ini dapat menyebabkan kegagalan reuse atau mencegah load balancer asli yang dibuat oleh CCM dilepas dengan benar.

ID instans SLB. Gunakan anotasi ini untuk menentukan instans CLB yang sudah ada.

  • Secara default, menggunakan kembali instans SLB yang ada tidak meng-override listener yang sudah ada. Untuk memaksa override, atur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners ke "true". Pengaturan ini hanya meng-override listener untuk Service saat ini dan tidak memengaruhi listener lainnya.

    Catatan

    Menggunakan kembali instans SLB yang ada tidak meng-override listener yang sudah ada secara default karena dua alasan:

    • Memaksa override dapat mengganggu bisnis jika listener yang ada terikat ke layanan.

    • CCM saat ini hanya mendukung konfigurasi backend terbatas dan tidak dapat menangani konfigurasi kompleks. Untuk konfigurasi backend kompleks, konfigurasikan listener secara manual di konsol tanpa meng-override-nya.

    Karena pertimbangan ini, kami tidak merekomendasikan memaksa override. Hanya lakukan override jika port listener yang ada tidak lagi digunakan.

  • (Versi CCM sebelum v2.10.0) Menambahkan tag tambahan (annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags) tidak didukung saat menggunakan kembali instans SLB yang 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: LoadBalancer

Gunakan 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.

  • Secara default, menggunakan kembali instans SLB yang ada tidak meng-override listener yang sudah ada. Untuk memaksa override, atur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners ke "true". Pengaturan ini hanya meng-override listener untuk Service saat ini dan tidak memengaruhi listener lainnya.

    Catatan

    Menggunakan kembali instans SLB yang ada tidak meng-override listener yang sudah ada secara default karena dua alasan:

    • Memaksa override dapat mengganggu bisnis jika listener yang ada terikat ke layanan.

    • CCM saat ini hanya mendukung konfigurasi backend terbatas dan tidak dapat menangani konfigurasi kompleks. Untuk konfigurasi backend kompleks, konfigurasikan listener secara manual di konsol tanpa meng-override-nya.

    Karena pertimbangan ini, kami tidak merekomendasikan memaksa override. Hanya lakukan override jika port listener yang ada tidak lagi digunakan.

  • (Versi CCM sebelum v2.10.0) Menambahkan tag tambahan (annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags) tidak didukung saat menggunakan kembali instans SLB yang 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.

  • "true": CCM secara otomatis mengelola listener CLB terkait (buat, perbarui, hapus) untuk Service tersebut. Listener lain tetap tidak terpengaruh.

  • "false": CCM tidak mengelola listener CLB.

Nilai default: "false"

Penting

Saat menggunakan kembali CLB yang ada dan mengatur force-override ke "true", jangan gunakan kembali listener yang sama di beberapa Service. Hal ini menyebabkan konflik konfigurasi listener.

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

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

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

  • paybytraffic

  • paybybandwidth

Nilai default: paybytraffic

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

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

  • internet: Layanan dapat diakses melalui Internet. Address Type CLB yang sesuai harus diatur ke Internet.

  • intranet: Layanan hanya dapat diakses dalam jaringan pribadi. Address Type CLB yang sesuai harus diatur ke Intranet.

Nilai default: internet

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type ke "intranet".

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

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

  • internet: Layanan dapat diakses melalui Internet. Ini adalah nilai default. Address Type CLB yang sesuai harus diatur ke Internet.

  • intranet: Layanan hanya dapat diakses dalam jaringan pribadi. Address Type CLB yang sesuai harus diatur ke Intranet.

Nilai default: internet

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type ke intranet.

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.

  • Alamat IP ini harus berada dalam blok CIDR VSwitch yang ditentukan. Hanya alamat IPv4 yang didukung. Anda harus menggunakan anotasi ini bersama dengan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id.

  • Anda tidak dapat mengubah alamat IP setelah pembuatan.

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

Tambahkan 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: "k1=v1,k2=v2". Mulai CCM v2.10.0, Anda dapat memodifikasi tag untuk instans yang baru dibuat maupun yang digunakan kembali.

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

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

  • ipv4: IPv4.

  • ipv6: IPv6. Alamat IPv6 yang dihasilkan hanya dapat diakses di lingkungan yang mendukung IPv6.

Nilai default: ipv4

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

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

  • on

  • off

Nilai default: on

Penting

Untuk instans SLB yang dibuat oleh Service LoadBalancer, Anda tetap dapat menghapus instans SLB terkait menggunakan kubectl delete svc {your-svc-name}, meskipun perlindungan penghapusan diaktifkan di konsol CLB.

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

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

  • ConsoleProtection

  • NonProtection

Nilai default: ConsoleProtection

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

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

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

Atur 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: https:443,http:80.

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:

  • Setelah menambahkan anotasi ini, EXTERNAL-IP Service berubah dari IP CLB default menjadi your_service_name. Saat mengakses IP CLB dari dalam kluster, trafik dialihkan melalui CLB sebelum diteruskan ke kluster.

  • Setelah menambahkan anotasi ini, jika protokol listener adalah TCP atau UDP, mengakses IP CLB dari dalam kluster dapat menyebabkan masalah loopback. Untuk detailnya, lihat dan Klien tidak dapat mengakses load balancer.

  • Menambahkan anotasi ini tidak secara otomatis mengikat CLB ke nama domain. Untuk mengikat domain, buka halaman Nama Domain untuk membeli domain dan mengikatnya ke CLB. Untuk petunjuknya, lihat Beli nama domain.

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

Output 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   10s

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

  • PayBySpec: Default. Bayar berdasarkan spesifikasi.

  • PayByCLCU: Bayar berdasarkan penggunaan.

Nilai default: PayBySpec

Penting
  • Nilai default berubah menjadi PayByCLCU untuk Cloud Controller Manager v2.5.0 atau yang lebih baru.

  • Anda tidak dapat menetapkan spesifikasi untuk instans SLB pay-by-usage. Jangan gunakan PayByCLCU bersamaan dengan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec.

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

Pertahankan 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 kubernetes.do.not.delete dan ack.aliyun.com dari instans SLB. Server yang ada di kelompok vServer tetap tidak berubah.

Saat diaktifkan, event Warning bertipe PreservedOnDelete muncul selama sinkronisasi Service. Setelah mengonfigurasi anotasi ini, periksa event tersebut untuk memastikan aktivasi berhasil.

Nilai yang valid:

  • Non-kosong: Aktifkan pelestarian.

  • Kosong atau tidak diatur: Nonaktifkan pelestarian.

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

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

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

  • on

  • off

Nilai default: off

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session diatur ke on. Nilai yang valid:

  • insert: Sisipkan cookie.

  • server: Tulis ulang cookie.

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session adalah on dan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type adalah insert. Unit: detik. Nilai yang valid: [1, 86400].

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session adalah on dan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type adalah server.

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: https:443,http:80.

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

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

  • on

  • off

Nilai default: off

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status diatur ke "on".

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:

  • white: Teruskan permintaan hanya dari alamat IP atau blok CIDR dalam kelompok kebijakan kontrol akses yang dipilih. Gunakan daftar putih saat aplikasi Anda hanya mengizinkan akses dari IP tertentu. Mengatur daftar putih membawa risiko tertentu. Setelah diaktifkan, hanya IP dalam daftar putih yang dapat mengakses listener. Jika Anda mengaktifkan daftar putih tetapi tidak menambahkan IP apa pun, listener akan meneruskan semua permintaan.

  • black: Blokir semua permintaan dari alamat IP atau blok CIDR dalam kelompok kebijakan kontrol akses yang dipilih. Gunakan daftar hitam saat aplikasi Anda membatasi akses dari IP tertentu. Jika Anda mengaktifkan daftar hitam tetapi tidak menambahkan IP apa pun, listener akan meneruskan semua permintaan. Wajib saat AclStatus diatur ke on.

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

Tentukan 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: https:443,http:80.

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: 80:443.

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

Atur algoritma penjadwalan untuk instans SLB

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

Deskripsi

Versi CCM yang didukung

Algoritma penjadwalan. Nilai yang valid:

  • wrr: Round-robin berbobot. Bobot yang lebih tinggi meningkatkan probabilitas dipilih.

  • rr: Round-robin. Mendistribusikan permintaan secara berurutan ke server backend.

  • sch: Hash IP sumber. Permintaan dari IP sumber yang sama menuju server backend yang sama.

  • tch: Hash empat-tuple (IP sumber + IP tujuan + port sumber + port tujuan). Permintaan dalam aliran yang sama menuju server backend yang sama.

Nilai default: rr.

Untuk nilai valid lainnya, lihat bidang Scheduler dalam API CLB untuk membuat jenis listener yang sesuai (seperti Buat Listener TCP).

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

Buat listener UDP

apiVersion: v1
kind: Service
metadata:
  name: nginx
  namespace: default
spec:
  ports:
  - port: 80
    protocol: UDP
    targetPort: 80
  selector:
    run: nginx
  type: LoadBalancer

Buat 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: https:443,http:80.

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

Buat 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: https:443,http:80.

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

Konfigurasi 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: https:443,http:80.

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 {domain}:{certificate-ID}. Pisahkan beberapa entri dengan koma (,).

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

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

  • on

  • off

Nilai default: on

v2.6.0 atau yang lebih baru

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

Jenis pemeriksaan kesehatan. Nilai yang valid:

  • tcp

  • http

Nilai default: tcp. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener.

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout kurang dari nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval, nilai pertama tidak valid, dan timeout diatur ke nilai yang kedua. Nilai default: 5. Untuk informasi lebih lanjut, lihat CreateLoadBalancerTCPListener.

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

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

  • on

  • off

Nilai default: on

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout kurang dari nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval, nilai pertama tidak valid, dan timeout diatur ke nilai yang kedua. Nilai default: 5. Untuk informasi lebih lanjut, lihat CreateLoadBalancerUDPListener.

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

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

  • on

  • off

Nilai default: on

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

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

  • on: Untuk listener TCP, default-nya adalah on dan tidak dapat diubah. Anda tidak perlu mengubah anotasi ini untuk TCP.

  • off: Untuk listener HTTP, default-nya adalah off.

Nilai default: off

v1.9.3 atau yang lebih baru

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

Jenis pemeriksaan kesehatan. Nilai yang valid:

  • tcp

  • http

Nilai default: tcp

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:

  • http_2xx

  • http_3xx

  • http_4xx

  • http_5xx

Nilai default: http_2xx

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:

  • $_ip: IP privat server backend. Jika Anda menentukan IP atau tidak menentukan parameter ini, instans SLB menggunakan IP privat setiap server backend sebagai nama domain untuk pemeriksaan kesehatan.

  • domain: Nama domain harus terdiri dari 1–80 karakter dan hanya dapat berisi huruf, angka, titik (.), dan tanda hubung (-).

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 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout kurang dari nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval, service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout tidak valid, dan timeout diatur ke nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval.

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: https:443,http:80.

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:

  • head

  • get

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

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

  • on

  • off

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

Konfigurasi 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: https:443,http:80.

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:

  • on

  • off

Nilai default: off

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:

  • on

  • off

Nilai default: off

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:

  • on

  • off

Nilai default: off

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

Atur 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: https:443,http:80.

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

Nonaktifkan 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: https:443,http:80.

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:

  • on

  • off

Nilai default: on

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

Konfigurasi 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: https:443,http:80.

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

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

Konfigurasi 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: https:443,http:80.

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:

  • 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

Nilai default: tls_cipher_policy_1_0

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

Konfigurasi protokol TCP dan UDP untuk satu listener

Catatan

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

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

  • on

  • off

Nilai default: off

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

Operasi 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, "k1=v1,k2=v2". Beberapa label memiliki hubungan AND. Ini hanya efektif saat tipe server backend adalah ecs.

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

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

  • wrr: Round-robin berbobot. Bobot yang lebih tinggi meningkatkan probabilitas dipilih.

    Mode Local memerlukan pengaturan kebijakan penjadwalan ke round-robin berbobot (wrr).

    Catatan

    Untuk CCM v1.9.3.164-g2105d2e-aliyun dan yang lebih baru, layanan dengan kebijakan trafik eksternal diatur ke mode Local secara otomatis mengatur bobot node berdasarkan jumlah Pod di setiap node. Untuk aturan perhitungan bobot, lihat Bagaimana bobot node diatur secara otomatis dalam mode Local?.

  • rr: Round-robin. Mendistribusikan permintaan secara berurutan ke server backend.

Nilai default: rr

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

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

  • on: Hapus node unschedulable dari kelompok server backend CLB.

  • off: Perintah kubectl cordon dan kubectl drain mengatur node ke status unschedulable. Pengaturan ini tidak menghapus node unschedulable dari kelompok server backend CLB.

Nilai default: off

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

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

  • eni: Lampirkan Pod ke backend CLB untuk meningkatkan kinerja penerusan jaringan. Ini hanya efektif dalam mode jaringan Terway.

    Anda juga dapat mengubah secara manual eni menjadi ecs di service.beta.kubernetes.io/backend-type: "eni" untuk melampirkan ECS ke backend CLB.

  • ecs: Lampirkan instans ECS ke backend CLB.

  • Mode jaringan Flannel: ecs

  • Mode jaringan Terway:

    • Untuk kluster Terway yang dibuat sebelum 10 Agustus 2020: ecs

    • Untuk kluster Terway yang dibuat setelah 10 Agustus 2020: eni

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

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

  • on

  • off

Nilai default: off

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