全部产品
Search
文档中心

Container Service for Kubernetes:Konfigurasikan instans Classic Load Balancer (CLB) menggunakan anotasi

更新时间:Feb 05, 2026

Anda dapat menggunakan anotasi dalam file YAML Service untuk mengonfigurasi instans Classic Load Balancer (CLB), listener, dan grup server backend guna menerapkan berbagai fitur load balancing.

Indeks

Kategori

Kategori fitur

Tautan konfigurasi

Catatan penggunaan anotasi

Operasi umum untuk instans CLB

Create an SLB instance

Specify an existing instance

Configure an SLB instance

Enable instance protection

Operasi umum untuk listener

Session persistence settings

Port and protocol configuration

Advanced configuration

Operasi umum untuk grup server backend

Configuration management

Referensi

Catatan penggunaan anotasi

  • Anotasi bersifat case-sensitive.

  • Sebelum menggunakan anotasi, verifikasi versi Cloud Controller Manager (CCM) yang mendukung fitur tersebut. Untuk memutakhirkan komponen CCM, lihat Manage components. Untuk informasi selengkapnya tentang riwayat perubahan komponen CCM, lihat Cloud Controller Manager.

  • Mulai 11 September 2019, alibaba-cloud digunakan dalam bidang annotations menggantikan alicloud.

    Contoh:

    Sebelum pembaruan: service.beta.kubernetes.io/alicloud-loadbalancer-id

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

    Sistem tetap kompatibel dengan format alicloud. Tidak diperlukan perubahan.

Operasi umum untuk instans CLB

Create an Internet-facing SLB instance

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

Create an internal-facing SLB instance

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

Description

Supported CCM versions

Menentukan jenis jaringan instans SLB. Nilai:

  • internet: Layanan diakses melalui Internet. Address Type instans CLB harus Public Network.

  • intranet: Layanan diakses melalui jaringan pribadi. Address Type instans CLB harus Private Network.

Nilai default: internet

Lihat Specify a vSwitch for an SLB instance untuk menentukan vSwitch secara manual untuk instans CLB. Jika Anda tidak menentukan vSwitch, sistem akan memilih satu secara otomatis berdasarkan versi CCM:

  • Versi sebelum v2.13.0: vSwitch pertama yang dikonfigurasi pada lapisan kontrol kluster digunakan secara default.

  • v2.13.0 dan seterusnya: Satu vSwitch dipilih secara otomatis dari semua vSwitch yang tersedia.

v1.9.3 dan seterusnya

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

Specify the specification of an SLB instance

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Annotation

Description

Supported CCM versions

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type

Metode penagihan instans. Nilai:

  • PayBySpec: bayar-per-spesifikasi.

  • PayByCLCU: bayar-per-penggunaan.

Nilai default: PayBySpec

Penting
  • Untuk Cloud Controller Manager v2.5.0 dan seterusnya, nilai default diubah menjadi PayByCLCU.

  • Instans SLB bayar-per-penggunaan tidak mendukung spesifikasi. Oleh karena itu, nilai PayByCLCU tidak dapat digunakan bersamaan dengan anotasi service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec.

v2.4.0 dan seterusnya

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

Spesifikasi instans SLB. Gunakan parameter ini untuk membuat instans CLB dengan spesifikasi tertentu atau memperbarui spesifikasi instans CLB yang sudah ada. Nilai:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

Nilai default: slb.s1.small

Untuk informasi selengkapnya tentang nilai parameter ini, lihat CreateLoadBalancer.

Penting

Jika Anda mengubah spesifikasi instans CLB bayar-per-spesifikasi di konsol CLB, CCM mungkin mengembalikan spesifikasi ke nilai semula. Lakukan dengan hati-hati.

v1.9.3 dan seterusnya

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

Use an existing SLB instance

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

Description

Supported CCM versions

Penting

Untuk mencegah 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 Classic Load Balancer (CLB) console.

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

  • Secara default, menggunakan instans SLB yang sudah ada tidak menimpa listener-nya. Untuk menimpa listener yang sudah ada secara paksa, atur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners ke "true". Konfigurasi ini hanya menimpa listener layanan saat ini dan tidak memengaruhi listener lainnya.

    Catatan

    Menggunakan instans SLB yang sudah ada tidak menimpa listener-nya secara default karena alasan berikut:

    • Jika listener instans SLB yang sudah ada terikat ke layanan, menimpa listener secara paksa dapat menyebabkan gangguan layanan.

    • CCM hanya mendukung konfigurasi backend terbatas dan tidak dapat memproses konfigurasi kompleks. Jika Anda memiliki persyaratan konfigurasi backend yang kompleks, Anda dapat mengonfigurasi listener di konsol tanpa menimpanya.

    Karena alasan tersebut, kami menyarankan agar Anda tidak menimpa listener secara paksa. Anda dapat menimpa listener secara paksa jika port-nya tidak lagi digunakan.

  • Untuk versi CCM sebelum v2.10.0, Anda tidak dapat menambahkan tag tambahan (annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags) saat menggunakan instans SLB yang sudah ada.

v1.9.3.81-gca19cd4-aliyun dan seterusnya

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

Use an existing SLB instance and forcibly overwrite existing listeners

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Menimpa listener yang sudah ada secara paksa akan menghapusnya jika terjadi konflik port.

Annotation

Description

Supported CCM versions

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

Penting

Untuk mencegah 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 Classic Load Balancer (CLB) console.

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

  • Secara default, menggunakan instans SLB yang sudah ada tidak menimpa listener-nya. Untuk menimpa listener yang sudah ada secara paksa, atur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners ke "true". Konfigurasi ini hanya menimpa listener layanan saat ini dan tidak memengaruhi listener lainnya.

    Catatan

    Menggunakan instans SLB yang sudah ada tidak menimpa listener-nya secara default karena alasan berikut:

    • Jika listener instans SLB yang sudah ada terikat ke layanan, menimpa listener secara paksa dapat menyebabkan gangguan layanan.

    • CCM hanya mendukung konfigurasi backend terbatas dan tidak dapat memproses konfigurasi kompleks. Jika Anda memiliki persyaratan konfigurasi backend yang kompleks, Anda dapat mengonfigurasi listener di konsol tanpa menimpanya.

    Karena alasan tersebut, kami menyarankan agar Anda tidak menimpa listener secara paksa. Anda dapat menimpa listener secara paksa jika port-nya tidak lagi digunakan.

  • Untuk versi CCM sebelum v2.10.0, Anda tidak dapat menambahkan tag tambahan (annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags) saat menggunakan instans SLB yang sudah ada.

v1.9.3.81-gca19cd4-aliyun dan seterusnya

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

Saat mengikat instans SLB yang sudah ada, anotasi ini menentukan apakah akan menyinkronkan konfigurasi listener CLB berdasarkan layanan.

  • "true": CCM secara otomatis mengelola listener CLB yang terkait dengan layanan (membuat, memperbarui, dan menghapus) berdasarkan konfigurasi layanan. Listener yang tidak dikelola oleh CCM tidak terpengaruh.

  • "false": CCM tidak memproses listener CLB.

Nilai default: "false"

Penting

Ketika Anda menggunakan kembali instans CLB yang sudah ada dan mengatur force-override ke "true", jangan gunakan kembali pendengar yang sama dari instans CLB untuk beberapa layanan. Jika tidak, konflik konfigurasi pendengar dapat terjadi.

v1.9.3.81-gca19cd4-aliyun dan seterusnya

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

Specify primary and secondary zones when you create an SLB instance

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Zona primer dan sekunder tidak dapat diubah setelah instans dibuat.

Instans SLB di beberapa wilayah tidak mendukung zona primer dan sekunder. Pengaturan pada halaman pembuatan instans CLB memiliki prioritas lebih tinggi.

Annotation

Description

Supported CCM versions

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid

ID zona tempat server backend primer ditempatkan.

v1.9.3.10-gfb99107-aliyun dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid

ID zona tempat server backend sekunder ditempatkan.

v1.9.3.10-gfb99107-aliyun dan seterusnya

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

Create a pay-by-bandwidth SLB instance

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Dua anotasi berikut wajib digunakan.

Annotation

Description

Supported CCM versions

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type

Metode penagihan instans SLB. Nilai:

  • paybytraffic

  • paybybandwidth

Nilai default: paybytraffic

v1.9.3 dan seterusnya

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

Bandwidth instans SLB. Ini adalah bandwidth puncak. Nilai default: 50. Parameter ini hanya berlaku untuk instans SLB yang menghadap Internet. Untuk informasi selengkapnya tentang batasan lainnya, lihat Modify the billing method of an Internet-facing SLB instance.

v1.9.3.10-gfb99107-aliyun dan seterusnya

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

Specify a vSwitch for an SLB instance

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Dua anotasi berikut wajib digunakan.

Annotation

Description

Supported CCM versions

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

Menentukan jenis jaringan instans SLB. Nilai:

  • internet: Layanan diakses melalui Internet. Address Type instans CLB harus Public Network.

  • intranet: Layanan diakses melalui jaringan pribadi. Address Type instans CLB harus Private Network.

Nilai default: internet

v1.9.3 dan seterusnya

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

ID vSwitch tempat instans SLB berada. vSwitch harus berada dalam VPC yang sama dengan kluster Kubernetes.

Saat mengatur parameter ini, Anda juga harus mengatur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type ke "intranet".

Masuk ke VPC console untuk mencari tahu ID vSwitch.

v1.9.3 dan seterusnya

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

Specify an IP address for an internal-facing SLB instance

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Tiga anotasi berikut wajib digunakan.

Annotation

Description

Supported CCM versions

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

Menentukan jenis jaringan instans SLB. Nilai:

  • internet: Layanan diakses melalui Internet. Ini adalah nilai default. Address Type instans CLB harus Public Network.

  • intranet: Layanan diakses melalui jaringan pribadi. Address Type instans CLB harus Private Network.

Nilai default: internet

v1.9.3 dan seterusnya

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

ID vSwitch tempat instans SLB berada. vSwitch harus berada dalam VPC yang sama dengan kluster Kubernetes.

Saat mengatur parameter ini, Anda juga harus mengatur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type ke intranet.

Masuk ke VPC console untuk mencari tahu ID vSwitch.

v1.9.3 dan seterusnya

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

Alamat IP instans SLB yang menghadap internal.

  • Alamat IP harus berada dalam Blok CIDR tujuan vSwitch. Hanya alamat IPv4 yang didukung. Parameter ini harus digunakan bersamaan dengan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id.

  • Alamat IP tidak dapat diubah setelah pembuatan.

v2.7.0 dan seterusnya

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

Add additional tags to an SLB instance

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

Description

Supported CCM versions

Daftar tag yang akan ditambahkan. Pisahkan beberapa tag dengan koma (,), misalnya, "k1=v1,k2=v2". Untuk CCM v2.10.0 dan seterusnya, Anda dapat memodifikasi tag instans yang telah dibuat dan instans yang digunakan kembali.

Penting

Setelah Anda menambahkan anotasi ini ke layanan untuk menentukan tag tambahan, modifikasi apa pun yang dilakukan pada tag instans SLB yang sesuai di konsol dapat ditimpa.

v1.9.3 dan seterusnya

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

Create an IPv6 SLB instance

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

Description

Supported CCM versions

Versi IP instans SLB. Versi IP tidak dapat diubah setelah instans dibuat. Saat menggunakan fitur ini, mode kube-proxy kluster harus IPVS. Nilai:

  • ipv4: IPv4.

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

Nilai default: ipv4

v1.9.3.220-g24b1885-aliyun dan seterusnya

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

Enable deletion protection for an SLB instance

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-delete-protection

Description

Supported CCM versions

Fitur perlindungan penghapusan instans SLB. Nilai:

  • on

  • off

Nilai default: on

Penting

Untuk instans SLB yang dibuat untuk layanan LoadBalancer, meskipun Anda mengaktifkan perlindungan penghapusan secara manual di konsol CLB, instans SLB yang terkait dengan layanan masih dapat dihapus dengan menjalankan perintah kubectl delete svc {your-svc-name}.

v1.9.3.313-g748f81e-aliyun dan seterusnya

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

Enable configuration read-only mode for an SLB instance

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-modification-protection

Description

Supported CCM versions

Mode baca-saja konfigurasi instans SLB. Nilai:

  • ConsoleProtection

  • NonProtection

Nilai default: ConsoleProtection

v1.9.3.313-g748f81e-aliyun dan seterusnya

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

Specify the name of an SLB instance

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

Description

Supported CCM versions

Nama instans SLB. Nama harus terdiri dari 2 hingga 128 karakter, dimulai dengan huruf atau karakter Tionghoa, dan dapat berisi angka, titik (.), garis bawah (_), dan tanda hubung (-).

v1.9.3.313-g748f81e-aliyun dan seterusnya

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

Specify the resource group of an SLB instance

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

Description

Supported CCM versions

ID kelompok sumber daya tempat instans SLB berada. ID kelompok sumber daya tidak dapat diubah setelah ditentukan. Anda dapat mencari tahu ID kelompok sumber daya di Alibaba Cloud Resource Management platform.

v1.9.3.313-g748f81e-aliyun dan seterusnya

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

Set a hostname for a service

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

Menetapkan hostname untuk layanan. Hostname harus mengikuti konvensi penamaan DNS.

Perhatikan hal-hal berikut:

  • Setelah Anda menambahkan anotasi ini, EXTERNAL-IP layanan berubah dari alamat IP CLB default menjadi your_service_name. Saat Anda mengakses alamat IP CLB dari dalam kluster, trafik diarahkan melalui instans CLB sebelum diteruskan ke kluster.

  • Setelah Anda menambahkan anotasi ini, jika listener menggunakan protokol TCP atau UDP, masalah akses loopback terjadi saat Anda mengakses alamat IP CLB dari dalam kluster. Untuk informasi selengkapnya, lihat A client fails to access a CLB instance.

  • Menambahkan anotasi ini tidak secara otomatis mengikat instans CLB ke nama domain. Untuk mengikatnya, buka halaman layanan nama domain untuk membeli nama domain dan mengikatnya ke instans CLB. Untuk membeli nama domain, lihat Purchase a domain name.

v2.3.0 dan seterusnya

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

Expected output:

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

Create a pay-by-usage SLB instance

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type

Description

Supported CCM versions

Metode penagihan instans. Nilai:

  • PayBySpec: Nilai default. bayar-per-spesifikasi.

  • PayByCLCU: bayar-per-penggunaan.

Nilai default: PayBySpec

Penting
  • Untuk Cloud Controller Manager v2.5.0 dan seterusnya, nilai default diubah menjadi PayByCLCU.

  • Instans SLB bayar-per-penggunaan tidak mendukung spesifikasi. Oleh karena itu, nilai PayByCLCU tidak dapat digunakan bersamaan dengan anotasi service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec.

v2.4.0 dan seterusnya

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

Retain an auto-created SLB instance when you delete a service

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

Description

Supported CCM versions

Saat Anda menghapus layanan LoadBalancer, fitur ini mempertahankan instans CLB yang dibuat oleh layanan dan menghapus tag kubernetes.do.not.delete dan ack.aliyun.com dari instans CLB. Server yang ada dalam grup vServer dipertahankan.

Saat fitur ini diaktifkan, event Peringatan bertipe PreservedOnDelete dihasilkan selama sinkronisasi layanan. Setelah Anda mengonfigurasi anotasi ini, kami sarankan Anda memeriksa apakah event ini ada untuk memastikan fitur telah diaktifkan.

Nilai:

  • Tidak kosong: Fitur retensi diaktifkan.

  • Kosong atau tidak diatur: Fitur retensi tidak diaktifkan.

Penting

Lakukan operasi ini dengan menghapus layanan, bukan dengan mengubah jenis layanan. Jika tidak, layanan mungkin salah dikaitkan kembali dengan instans CLB yang sebelumnya dipertahankan.

v2.10.0 dan seterusnya

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

Common listener operations

Configure the session persistence timeout for a TCP listener

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout

Description

Supported CCM versions

Timeout persistensi sesi. Ini hanya berlaku untuk listener TCP. Jika beberapa port listener TCP dikonfigurasi untuk instans SLB, konfigurasi ini berlaku untuk semua port listener TCP secara default.

Unit: detik. Rentang nilai: [0, 3600]. Nilai default: 0, yang menunjukkan bahwa persistensi sesi dinonaktifkan. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v1.9.3 dan seterusnya

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

Configure session persistence (insert cookie) for HTTP and HTTPS listeners

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Saat memasukkan cookie, empat anotasi berikut wajib digunakan.

  • Dukungan hanya tersedia untuk instans SLB yang menggunakan protokol HTTP dan HTTPS.

  • Jika beberapa port listener HTTP atau HTTPS dikonfigurasi, konfigurasi persistensi sesi ini berlaku untuk semua port listener HTTP dan HTTPS secara default.

Annotation

Description

Supported CCM versions

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session

Menentukan apakah akan mengaktifkan persistensi sesi. Ini hanya berlaku untuk listener HTTP dan HTTPS. Nilai:

  • on

  • off

Nilai default: off

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener.

v1.9.3 dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type

Metode yang digunakan untuk memproses cookie. Ini hanya berlaku untuk listener HTTP dan HTTPS. Parameter ini wajib digunakan saat service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session diatur ke on. Nilai:

  • insert: Memasukkan cookie.

  • server: Menulis ulang cookie.

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener.

v1.9.3 dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout

Periode timeout cookie. Parameter ini wajib digunakan saat service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session diatur ke on dan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type diatur ke insert. Unit: detik. Rentang nilai: [1, 86400].

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener.

v1.9.3 dan seterusnya

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

Nama cookie yang dikonfigurasi di server.

Nama harus terdiri dari 1 hingga 200 karakter dan hanya dapat berisi huruf ASCII dan angka. Tidak boleh berisi koma (,), titik koma (;), atau spasi. Tidak boleh dimulai dengan tanda dolar ($).

Parameter ini wajib digunakan saat service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session diatur ke on dan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type diatur ke server.

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener.

v1.9.3 dan seterusnya

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

Configure an access control policy group for an SLB instance

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Tiga anotasi berikut wajib digunakan.

Sebelum menggunakan anotasi ini untuk mengonfigurasi kontrol akses untuk instans SLB, Anda harus terlebih dahulu membuat kelompok kebijakan kontrol akses di Classic Load Balancer (CLB) console dan mencatat ID-nya (acl-id).

Annotation

Description

Supported CCM versions

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status

Menentukan apakah akan mengaktifkan fitur kontrol akses. Nilai:

  • on

  • off

Nilai default: off

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

ID kelompok kebijakan kontrol akses yang diikat ke listener. Parameter ini wajib digunakan saat service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status diatur ke "on".

v1.9.3.164-g2105d2e-aliyun dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type

Jenis kontrol akses. Nilai:

  • white: daftar putih. Hanya permintaan dari alamat IP atau Blok CIDR yang ditentukan dalam kelompok kebijakan kontrol akses yang dipilih yang diteruskan. Daftar putih cocok untuk skenario di mana aplikasi hanya mengizinkan akses dari alamat IP tertentu. Mengatur daftar putih dapat menimbulkan risiko bisnis. Setelah daftar putih diatur, hanya alamat IP dalam daftar putih yang dapat mengakses listener SLB. Jika Anda mengaktifkan daftar putih tetapi tidak menambahkan alamat IP apa pun ke kelompok kebijakan kontrol akses, listener SLB akan meneruskan semua permintaan.

  • black: blacklist. Semua permintaan dari alamat IP atau Blok CIDR yang ditentukan dalam kelompok kebijakan kontrol akses yang dipilih tidak diteruskan. Blacklist cocok untuk skenario di mana aplikasi membatasi akses dari alamat IP tertentu. Jika Anda mengaktifkan blacklist tetapi tidak menambahkan alamat IP apa pun ke kelompok kebijakan kontrol akses, listener SLB akan meneruskan semua permintaan. Parameter ini wajib digunakan saat parameter AclStatus diatur ke on.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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}" # Multiple policy groups are not supported.
    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

Specify a redirection port for an SLB instance

Pengalihan port mengacu pada penerusan permintaan dari port HTTP ke port HTTPS.

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Tiga anotasi berikut wajib digunakan.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

ID sertifikat di Alibaba Cloud.

Masuk ke CLB console dan lihat ID sertifikat di halaman Certificate Management.

Catatan

Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

Meneruskan permintaan HTTP ke port HTTPS tertentu, misalnya, 80:443.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

Set the scheduling algorithm for an SLB instance

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

Description

Supported CCM versions

Algoritma penjadwalan. Nilai:

  • wrr: Round-robin berbobot. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.

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

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

  • tch: hash empat-tupel. Permintaan dari aliran yang sama (diidentifikasi oleh IP sumber, IP tujuan, port sumber, dan port tujuan) dijadwalkan ke server backend yang sama.

Nilai default: rr.

Untuk informasi selengkapnya tentang nilai parameter ini, lihat bidang Scheduler dalam dokumentasi API untuk membuat jenis listener yang sesuai, seperti Create a TCP listener.

v1.9.3 dan seterusnya

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

Create a UDP listener

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

Create an HTTP listener

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

  • Pemeriksaan kesehatan: Fitur pemeriksaan kesehatan dinonaktifkan secara default untuk listener HTTP. Untuk memastikan ketersediaan layanan backend, konfigurasikan pemeriksaan kesehatan HTTP atau TCP untuk port listener.

  • Akses dari dalam kluster: Saat Anda mengakses layanan dari dalam kluster menggunakan alamat IP CLB-nya, trafik mungkin dicegat di dalam kluster, yang dapat menyebabkan akses gagal. Lihat Set a hostname for a Service untuk menambahkan anotasi yang memaksa trafik melewati CLB. Untuk informasi selengkapnya, lihat Considerations for accessing the external IP of a LoadBalancer Service from within a cluster.

Description

Supported CCM versions

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

Create an HTTPS listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Permintaan HTTPS didekripsi di lapisan CLB lalu dikirim ke pod backend sebagai permintaan HTTP.

  • Pemeriksaan kesehatan: Fitur pemeriksaan kesehatan dinonaktifkan secara default untuk listener HTTPS. Untuk memastikan ketersediaan layanan backend, konfigurasikan pemeriksaan kesehatan HTTP atau TCP untuk port listener.

  • Akses dari dalam kluster: Saat Anda mengakses layanan dari dalam kluster menggunakan alamat IP CLB-nya, trafik mungkin dicegat di dalam kluster, yang dapat menyebabkan akses gagal. Lihat Set a hostname for a Service untuk menambahkan anotasi yang memaksa trafik melewati CLB. Untuk informasi selengkapnya, lihat Considerations for accessing the external IP of a LoadBalancer Service from within a cluster.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

ID sertifikat di Alibaba Cloud.

Masuk ke CLB console dan lihat ID sertifikat di halaman Certificate Management.

Catatan

Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

Configure additional domain name certificates for an HTTPS listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

ID sertifikat di Alibaba Cloud.

Masuk ke CLB console dan lihat ID sertifikat di halaman Certificate Management.

Catatan

Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-domain-extensions

Menentukan nama domain tambahan dan ID sertifikat dalam format {nama domain}:{ID sertifikat}. Pisahkan beberapa nilai dengan koma (,).

Masuk ke CLB console dan lihat ID sertifikat di halaman Certificate Management.

v2.13.0 dan seterusnya

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

Create a listener with a health check

Set up a TCP health check

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Semua anotasi berikut wajib digunakan.

Fitur pemeriksaan kesehatan diaktifkan secara default untuk port TCP.

Annotation

Description

Supported CCM versions

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

Menentukan apakah akan mengaktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai:

  • on

  • off

Nilai default: on

v2.6.0 dan seterusnya

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

Jenis pemeriksaan kesehatan. Nilai:

  • tcp

  • http

Nilai default: tcp. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v1.9.3 dan seterusnya

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

Periode timeout untuk respons pemeriksaan kesehatan. Ini berlaku untuk mode TCP. Jika instans ECS backend tidak merespons dalam periode timeout yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Rentang nilai: [1, 300].

Jika nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout lebih kecil daripada nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval, yang pertama tidak valid dan periode timeout adalah nilai yang terakhir. Nilai default: 5. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v1.9.3 dan seterusnya

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

Jumlah pemeriksaan kesehatan berturut-turut yang berhasil diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari fail menjadi success.

Rentang nilai: [2, 10]. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v1.9.3 dan seterusnya

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

Jumlah pemeriksaan kesehatan berturut-turut yang gagal diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari success menjadi fail. Rentang nilai: [2, 10]. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v1.9.3 dan seterusnya

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

Interval antara dua pemeriksaan kesehatan berturut-turut. Unit: detik. Rentang nilai: [1, 50]. Nilai default: 2. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v1.9.3 dan seterusnya

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

Set up a UDP health check

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Semua anotasi berikut wajib digunakan.

Fitur pemeriksaan kesehatan diaktifkan secara default untuk port UDP.

Annotation

Description

Supported CCM versions

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

Menentukan apakah akan mengaktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai:

  • on

  • off

Nilai default: on

v2.6.0 dan seterusnya

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

Periode timeout untuk respons pemeriksaan kesehatan. Ini berlaku untuk mode TCP. Jika instans ECS backend tidak merespons dalam periode timeout yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Rentang nilai: [1, 300].

Jika nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout lebih kecil daripada nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval, yang pertama tidak valid dan periode timeout adalah nilai yang terakhir. Nilai default: 5. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener.

v1.9.3 dan seterusnya

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

Jumlah pemeriksaan kesehatan berturut-turut yang berhasil diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari fail menjadi success.

Rentang nilai: [2, 10]. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener.

v1.9.3 dan seterusnya

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

Jumlah pemeriksaan kesehatan berturut-turut yang gagal diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari success menjadi fail. Rentang nilai: [2, 10]. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener.

v1.9.3 dan seterusnya

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

Interval antara dua pemeriksaan kesehatan berturut-turut. Unit: detik. Rentang nilai: [1, 50]. Nilai default: 2. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener.

v1.9.3 dan seterusnya

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

Disable health checks for TCP and UDP listeners

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch

Description

Supported CCM versions

Menentukan apakah akan mengaktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai:

  • on

  • off

Nilai default: on

v2.6.0 dan seterusnya

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch: "off" # Disable the health check
  name: nginx
  namespace: default
spec:
  ports:
  - port: 443
    protocol: TCP
    targetPort: 443
  selector:
    run: nginx
  type: LoadBalancer

Set up an HTTP health check

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Annotation

Description

Supported CCM versions

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

Nilai:

  • on: Nilai default untuk listener TCP adalah on dan tidak dapat diubah. Anda tidak perlu mengubah anotasi ini untuk TCP.

  • off: Nilai default untuk listener HTTP adalah off.

Nilai default: off

v1.9.3 dan seterusnya

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

Jenis pemeriksaan kesehatan. Nilai:

  • tcp

  • http

Nilai default: tcp

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

URI untuk pemeriksaan kesehatan. Anda tidak perlu mengonfigurasi anotasi ini saat jenis pemeriksaan kesehatan adalah TCP.

v1.9.3 dan seterusnya

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

Kode status HTTP normal untuk pemeriksaan kesehatan. Pisahkan beberapa kode status dengan koma (,). Nilai:

  • http_2xx

  • http_3xx

  • http_4xx

  • http_5xx

Nilai default: http_2xx

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

Nama domain untuk pemeriksaan kesehatan. Nilai:

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

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

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

Periode timeout untuk respons pemeriksaan kesehatan. Ini berlaku untuk mode HTTP. Jika instans ECS backend tidak merespons dalam periode timeout yang ditentukan, pemeriksaan kesehatan gagal.

Unit: detik. Rentang nilai: [1, 300].

Jika nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout lebih kecil daripada nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval, service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout tidak valid dan periode timeout adalah nilai service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval.

Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

Jumlah pemeriksaan kesehatan berturut-turut yang berhasil diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari fail menjadi success.

Rentang nilai: [2, 10]. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

Jumlah pemeriksaan kesehatan berturut-turut yang gagal diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari success menjadi fail. Rentang nilai: [2, 10]. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

Interval antara dua pemeriksaan kesehatan berturut-turut. Unit: detik. Rentang nilai: [1, 50]. Nilai default: 2. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener.

v1.9.3 dan seterusnya

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

Metode pemeriksaan kesehatan untuk listener HTTP. Nilai:

  • head

  • get

v2.3.0 dan seterusnya

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"
    # Set the health check HTTP status code. This is optional.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode: "http_4xx"
    # Set the health check domain name. This is optional.
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain: "www.aliyun.com"
    # Set the health check method. This is optional.
    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

Enable connection draining for a listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut. Semua anotasi berikut wajib digunakan.

Fitur ini hanya didukung untuk protokol TCP dan UDP.

Annotation

Description

Supported CCM versions

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

Menentukan apakah akan mengaktifkan pengurasan koneksi. Nilai:

  • on

  • off

v2.0.1 dan seterusnya

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

Mengatur timeout pengurasan koneksi. Unit: detik. Rentang nilai: [10, 900].

v2.0.1 dan seterusnya

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

Configure additional request headers for a listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Fitur ini hanya didukung untuk protokol HTTP dan HTTPS.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-proto

Menentukan apakah akan menggunakan header X-Forwarded-Proto untuk mengambil protokol listener instans CLB. Nilai:

  • on

  • off

Nilai default: off

v2.1.0 dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-slbport

Menentukan apakah akan menggunakan header X-Forwarded-For-SLBPORT untuk mengambil port listener instans SLB. Nilai:

  • on

  • off

Nilai default: off

v2.9.1 dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-clientsrcport

Menentukan apakah akan menggunakan header X-Forwarded-For-ClientSrcPort untuk mengambil port klien yang mengakses instans SLB. Nilai:

  • on

  • off

Nilai default: off

v2.9.1 dan seterusnya

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

Set the idle connection timeout for a listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Fitur ini hanya didukung untuk protokol HTTP dan HTTPS.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

Mengatur timeout koneksi idle untuk listener. Unit: detik. Rentang nilai: [1, 60].

Nilai default: 15

v2.1.0 dan seterusnya

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

Disable the HTTP/2 feature for a listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Fitur ini hanya didukung untuk protokol HTTPS.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

ID sertifikat di Alibaba Cloud.

Masuk ke CLB console dan lihat ID sertifikat di halaman Certificate Management.

Catatan

Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-http2-enabled

Menentukan apakah akan mengaktifkan fitur HTTP/2. Nilai:

  • on

  • off

Nilai default: on

v2.1.0 dan seterusnya

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

Specify the request timeout for a listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Fitur ini hanya didukung untuk protokol HTTP dan HTTPS.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-request-timeout

Menentukan periode timeout permintaan. Unit: detik. Rentang nilai: [1, 180]. Nilai default: 60

Jika server backend tidak merespons dalam periode timeout, instans SLB berhenti menunggu dan mengembalikan error HTTP 504 ke klien.

v2.3.0 dan seterusnya

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

Specify the connection timeout for a listener

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-established-timeout

Fitur ini hanya didukung untuk protokol TCP.

Description

Supported CCM versions

Periode timeout koneksi. Unit: detik. Rentang nilai: [10, 900]. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener.

v2.3.0 dan seterusnya

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

Configure a security policy for a listener

Annotation: Beberapa anotasi tersedia, seperti dijelaskan dalam tabel berikut.

Fitur ini hanya didukung untuk protokol HTTPS.

Annotation

Description

Supported CCM versions

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

Pisahkan beberapa nilai dengan koma (,), misalnya, https:443,http:80.

v1.9.3 dan seterusnya

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

ID sertifikat di Alibaba Cloud.

Masuk ke CLB console dan lihat ID sertifikat di halaman Certificate Management.

Catatan

Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate.

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

Kebijakan keamanan mencakup versi TLS opsional dan paket sandi yang didukung untuk HTTPS. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPSListener. Nilai:

  • 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 dan seterusnya

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

Configure TCP and UDP protocols for a listener at the same time

Catatan

Fitur ini memerlukan kluster Kubernetes yang menjalankan v1.24 atau yang lebih baru. Untuk informasi selengkapnya, lihat Upgrade an ACK cluster.

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

Configure the Proxy Protocol for TCP and UDP listeners

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

Saat Anda mengakses layanan dari dalam kluster menggunakan alamat IP CLB, trafik mungkin dicegat di dalam kluster, yang dapat menyebabkan akses gagal. Untuk mengatasinya, lihat Set a hostname for a service untuk menambahkan anotasi yang memaksa trafik diarahkan melalui instans CLB. Untuk informasi selengkapnya, lihat Notes on accessing the external IP address of a LoadBalancer service from within a cluster.

Description

Supported CCM versions

Mengonfigurasi Proxy Protocol untuk listener TCP dan UDP. Setelah Proxy Protocol dikonfigurasi, dapat digunakan untuk membawa alamat IP sumber klien ke server backend. Nilai:

  • on

  • off

Nilai default: off

Penting

Fitur ini tidak mendukung migrasi online yang mulus. Mengalihkan Proxy Protocol memerlukan waktu henti layanan untuk pemutakhiran. Konfigurasikan dengan hati-hati.

v2.6.0 dan seterusnya

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 umum untuk grup server backend

Use worker nodes with a specific label as backend servers

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label

Description

Supported CCM versions

Menentukan node pekerja yang akan disambungkan ke backend instans CLB berdasarkan label. Pisahkan beberapa label dengan koma (,), misalnya, "k1=v1,k2=v2". Operator AND digunakan antara beberapa label.

v1.9.3 dan seterusnya

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

Use the nodes where pods reside as backend servers

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

Secara default, externalTrafficPolicy diatur ke Cluster. Dalam mode ini, semua node dalam kluster disambungkan ke grup server backend. Dalam mode Local, hanya node tempat pod berada yang digunakan sebagai server backend.

Description

Supported CCM versions

Algoritma penjadwalan. Nilai:

  • wrr: Round-robin berbobot. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.

    Dalam mode Local, Anda harus mengatur algoritma penjadwalan ke Round-robin berbobot (wrr).

    Catatan

    Untuk CCM v1.9.3.164-g2105d2e-aliyun dan seterusnya, jika kebijakan trafik eksternal diatur ke mode Local, layanan secara otomatis mengatur bobot node berdasarkan jumlah pod pada node tersebut. Untuk informasi selengkapnya tentang cara menghitung bobot, lihat How are node weights automatically set in Local mode?.

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

Nilai default: rr

v1.9.3 dan seterusnya

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

Remove unschedulable nodes from the backend server group of a CLB instance

Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend

Description

Supported CCM versions

Menghapus node SchedulingDisabled dari backend instans CLB. Nilai:

  • on: Menghapus node dalam status unschedulable dari grup server backend instans CLB.

  • off: Perintah kubectl cordon dan kubectl drain mengatur node ke status unschedulable. Node dalam status unschedulable tidak dihapus dari grup server backend instans CLB.

Nilai default: off

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

Directly attach pod ENIs to the backend of a CLB instance

Annotation: service.beta.kubernetes.io/backend-type

Description

Default value

Supported CCM versions

Jenis server backend untuk instans CLB. Nilai:

  • eni: Menyambungkan pod ke backend instans CLB. Ini meningkatkan kinerja penerusan jaringan. Nilai ini hanya berlaku dalam mode jaringan Terway.

    Anda juga dapat mengubah nilai service.beta.kubernetes.io/backend-type: "eni" dari eni ke ecs secara manual untuk menyambungkan instans ECS ke backend instans CLB.

  • ecs: Menyambungkan instans ECS ke backend instans CLB.

  • Mode jaringan Flannel: ecs

  • Mode jaringan Terway:

    • Kluster Terway yang dibuat sebelum 10 Agustus 2020: ecs

    • Kluster Terway yang dibuat setelah 10 Agustus 2020: eni

v1.9.3.164-g2105d2e-aliyun dan seterusnya

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

Reuse an existing vServer group

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

Anda dapat menggunakan kembali grup vServer yang sudah ada. Ini hanya berlaku saat Anda menggunakan kembali instans CLB yang sudah ada. Untuk contoh, lihat Deploy services across clusters by reusing an SLB instance.

Set the weight of a service to receive traffic

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

Jika beberapa layanan menggunakan kembali instans CLB yang sama, Anda dapat menggunakan anotasi ini untuk mengatur bobot layanan saat ini. Anotasi ini hanya berlaku saat Anda menggunakan kembali grup vServer yang sudah ada. Untuk contoh, lihat Deploy services across clusters by reusing an SLB instance.

Ignore backend server weight updates

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

Description

Supported CCM versions

Selama sinkronisasi layanan, ini melewati pembaruan bobot server backend dalam grup vServer. Konfigurasi ini cocok untuk skenario di mana Anda perlu mengelola bobot server backend secara manual menggunakan mekanisme selain CCM. Nilai:

  • on

  • off

Nilai default: off

v2.11.1 dan seterusnya

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