Anda dapat memanfaatkan berbagai fitur load balancing dengan menambahkan anotasi ke file YAML Service. Anotasi ini memungkinkan Anda mengonfigurasi instans Classic Load Balancer (CLB), listener, dan kelompok server backend.
Indeks
Kategori | Kategori fitur | Tautan konfigurasi |
Create an SLB instance | ||
Specify an existing instance | ||
Configure an SLB instance | ||
Enable instance protection | ||
Session persistence settings | ||
Port and protocol configuration | ||
Advanced configuration | ||
Configuration management | ||
Catatan penggunaan anotasi
Anotasi bersifat case-sensitive.
Sebelum menggunakan anotasi, periksa versi Cloud Controller Manager (CCM) yang mendukung fitur tersebut. Untuk meningkatkan komponen CCM, lihat Manage components. Untuk informasi selengkapnya tentang riwayat perubahan komponen CCM, lihat Cloud Controller Manager.
Sejak 11 September 2019,
aliclouddalam bidangannotationstelah diperbarui menjadialibaba-cloud.Contoh:
Sebelum pembaruan:
service.beta.kubernetes.io/alicloud-loadbalancer-idSetelah pembaruan:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idSistem tetap kompatibel dengan format
alicloud. Anda tidak perlu melakukan perubahan apa pun.
Operasi CLB khas
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: LoadBalancerCreate an internal-facing SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type
Deskripsi | Supported CCM versions |
Menentukan tipe alamat instans SLB. Nilai yang valid:
Nilai default: | v1.9.3 dan 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: LoadBalancerSpecify the SLB instance specification
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type | Metode penagihan instans. Nilai yang valid:
Nilai default: Penting
| v2.4.0 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec | Spesifikasi instans SLB. Anda dapat menggunakan parameter ini untuk membuat instans CLB dengan spesifikasi tertentu atau memperbarui spesifikasi instans CLB yang sudah ada. Nilai yang valid:
Nilai default: Untuk informasi selengkapnya tentang nilai yang valid untuk parameter ini, lihat CreateLoadBalancer. Penting Jika Anda mengubah spesifikasi instans CLB di konsol CLB, spesifikasi tersebut mungkin dikembalikan ke nilai semula oleh CCM. Hal ini hanya berlaku untuk instans CLB bayar-per-spesifikasi. Lakukan dengan hati-hati. | v1.9.3 dan 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: LoadBalancerUse an existing SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id
Deskripsi | 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.
| v1.9.3.81-gca19cd4-aliyun dan 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: LoadBalancerUse an existing SLB instance and forcibly overwrite its existing listeners
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Anotasi-anotasi ini secara paksa menimpa listener yang ada. Jika terjadi konflik port listener, listener yang ada akan dihapus.
Anotasi | Deskripsi | 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.
| |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners | Menentukan apakah akan memaksa menimpa listener instans CLB saat menggunakan instans SLB yang sudah ada. Nilai yang valid:
Nilai default: Penting Saat Anda menggunakan kembali instans CLB yang sudah ada dan mengatur | v1.9.3.81-gca19cd4-aliyun dan 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: LoadBalancerSpecify primary and secondary zones when you create an SLB instance
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Setelah instans SLB dibuat, Anda tidak dapat mengubah zona primer dan sekundernya.
Beberapa wilayah tidak mendukung zona primer dan sekunder untuk instans SLB. Untuk informasi selengkapnya, lihat halaman pembuatan instans CLB.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid | ID zona primer tempat server backend ditempatkan. | v1.9.3.10-gfb99107-aliyun dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid | ID zona sekunder tempat server backend ditempatkan. | v1.9.3.10-gfb99107-aliyun dan 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: LoadBalancerCreate a pay-by-bandwidth SLB instance
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Dua anotasi berikut wajib digunakan.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type | Metode penagihan instans SLB. Nilai yang valid:
Nilai default: | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth | Bandwidth instans SLB. Ini adalah bandwidth puncak. Nilai default adalah 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 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: LoadBalancerSpecify a vSwitch for the SLB instance
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Dua anotasi berikut wajib digunakan.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type | Menentukan tipe alamat instans SLB. Nilai yang valid:
Nilai default: | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id | ID vSwitch tempat instans SLB berada. vSwitch harus berada dalam virtual private cloud (VPC) yang sama dengan kluster Kubernetes. Saat mengatur parameter ini, Anda juga harus mengatur Anda dapat masuk ke Konsol VPC untuk menanyakan ID vSwitch. | v1.9.3 dan 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: LoadBalancerSpecify an IP address for an internal-facing SLB instance
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Tiga anotasi berikut wajib digunakan.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type | Menentukan tipe alamat instans SLB. Nilai yang valid:
Nilai default: | v1.9.3 dan yang lebih baru |
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 Anda dapat masuk ke Konsol VPC untuk menanyakan ID vSwitch. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip | Alamat IP instans SLB yang menghadap internal.
| v2.7.0 dan 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: nginxAdd extra tags to the SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags
Deskripsi | Supported CCM versions |
Daftar tag yang akan ditambahkan. Pisahkan beberapa tag dengan koma (,), misalnya, Penting Setelah Anda menambahkan anotasi ini ke Service untuk menentukan tag tambahan, modifikasi tambahan pada tag instans SLB yang sesuai di konsol mungkin akan ditimpa. | v1.9.3 dan 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: LoadBalancerCreate an IPv6 SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version
Deskripsi | Supported CCM versions |
Versi IP instans SLB. Anda tidak dapat mengubah versi IP setelah instans dibuat. Saat menggunakan anotasi ini, mode kube-proxy kluster harus IPVS. Nilai yang valid:
Nilai default: | v1.9.3.220-g24b1885-aliyun dan 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: LoadBalancerEnable deletion protection for the SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-delete-protection
Deskripsi | Supported CCM versions |
Fitur perlindungan penghapusan untuk instans SLB. Nilai yang valid:
Nilai default: Penting Untuk instans SLB yang dibuat untuk Service LoadBalancer, jika Anda mengaktifkan perlindungan penghapusan secara manual di konsol CLB, Anda tetap dapat menjalankan perintah | v1.9.3.313-g748f81e-aliyun dan 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: LoadBalancerEnable configuration read-only mode for the SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-modification-protection
Deskripsi | Supported CCM versions |
Mode baca-saja konfigurasi untuk instans SLB. Nilai yang valid:
Nilai default: | v1.9.3.313-g748f81e-aliyun dan 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: LoadBalancerSpecify a name for the SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name
Deskripsi | 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 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: LoadBalancerSpecify the resource group for the SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-resource-group-id
Deskripsi | Supported CCM versions |
ID kelompok sumber daya tempat instans SLB berada. Anda tidak dapat mengubah ID kelompok sumber daya setelah ditentukan. Anda dapat mencari ID kelompok sumber daya di Alibaba Cloud Resource Management platform. | v1.9.3.313-g748f81e-aliyun dan 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: LoadBalancerSet a hostname for the Service
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-hostname | Menetapkan hostname untuk Service. Hostname harus mengikuti konvensi penamaan DNS. Perhatikan hal-hal berikut:
| v2.3.0 dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-hostname: "${your_service_hostname}"
name: nginx-svc
namespace: default
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerOutput yang diharapkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-svc loadBalancer 47.100.XX.XX www.example.com 80:30248/TCP,443:32670/TCP 10sCreate a pay-by-usage SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type
Deskripsi | Supported CCM versions |
Metode penagihan instans. Nilai yang valid:
Nilai default: Penting
| v2.4.0 dan 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: LoadBalancerRetain the auto-created SLB instance when the Service is deleted
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete
Description | Supported CCM versions |
Mempertahankan instans CLB yang dibuat untuk Service saat Anda menghapus Service LoadBalancer, dan menghapus tag Saat fitur ini diaktifkan, event Warning bertipe Nilai yang valid:
Penting Lakukan operasi ini dengan menghapus Service, bukan dengan mengubah tipe Service. Jika tidak, Service mungkin salah dikaitkan kembali dengan instans CLB yang sebelumnya dipertahankan. | v2.10.0 dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-preserve-lb-on-delete: "true"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerOperasi listener khas
Configure the session persistence timeout for a TCP listener
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout
Deskripsi | Supported CCM versions |
Periode timeout persistensi sesi. Ini hanya berlaku untuk listener TCP. Jika instans SLB memiliki beberapa listener TCP, konfigurasi ini diterapkan ke semuanya secara default. Unit: detik. Nilai yang valid: 0 hingga 3600. Nilai default: 0. Nilai 0 menonaktifkan persistensi sesi. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener. | v1.9.3 dan 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: LoadBalancerConfigure session persistence (insert cookie) for HTTP and HTTPS listeners
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Saat memasukkan cookie, empat anotasi berikut wajib digunakan.
Fitur ini hanya didukung oleh instans SLB yang menggunakan protokol HTTP atau HTTPS.
Jika Anda mengonfigurasi beberapa listener HTTP atau HTTPS, konfigurasi persistensi sesi ini diterapkan ke semuanya secara default.
Anotasi | Deskripsi | 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 yang valid:
Nilai default: Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type | Metode untuk memproses cookie. Ini hanya berlaku untuk listener HTTP dan HTTPS. Parameter ini wajib digunakan saat
Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout | Periode timeout cookie. Parameter ini wajib digunakan saat Untuk informasi lebih lanjut, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 dan yang lebih baru |
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 Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener dan CreateLoadBalancerHTTPSListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan 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: LoadBalancerConfigure an access control policy group for the SLB instance
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Tiga anotasi berikut wajib digunakan.
Sebelum menggunakan anotasi ini untuk membuat instans SLB dengan kontrol akses, Anda harus membuat kelompok kebijakan kontrol akses di Classic Load Balancer (CLB) console dan mencatat ID-nya (acl-id).
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status | Menentukan apakah kontrol akses diaktifkan. Nilai yang valid:
Nilai default: | v1.9.3.164-g2105d2e-aliyun dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id | ID kelompok kebijakan kontrol akses yang dikaitkan dengan listener. Parameter ini wajib digunakan saat | v1.9.3.164-g2105d2e-aliyun dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type | Tipe kebijakan kontrol akses. Nilai yang valid:
| v1.9.3.164-g2105d2e-aliyun dan 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}" # You cannot configure multiple policy groups.
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: LoadBalancerSpecify a forwarding port for the SLB instance
Port forwarding mengacu pada penerusan permintaan dari port HTTP ke port HTTPS.
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Tiga anotasi berikut wajib digunakan.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke CLB console dan lihat ID sertifikat di halaman Certificates. Catatan Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate. | v1.9.3.164-g2105d2e-aliyun dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port | Meneruskan permintaan HTTP ke port HTTPS tertentu, misalnya, | v1.9.3.164-g2105d2e-aliyun dan 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: LoadBalancerSet the scheduling algorithm for the SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler
Deskripsi | Supported CCM versions |
Algoritma penjadwalan. Nilai valid:
Nilai default: Untuk informasi selengkapnya tentang nilai yang valid untuk parameter ini, lihat bidang | v1.9.3 dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wrr"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerBuat listener UDP
apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: UDP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat listener HTTP
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port
Deskripsi | Supported CCM versions |
Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80"
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx
type: LoadBalancerBuat listener HTTPS
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Permintaan HTTPS didekripsi di lapisan CLB lalu dikirim ke pod backend sebagai permintaan HTTP.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke CLB console dan lihat ID sertifikat di halaman Certificates. Catatan Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate. | v1.9.3.164-g2105d2e-aliyun dan 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: LoadBalancerCreate a listener with health checks
Set up a TCP health check
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Semua anotasi berikut wajib digunakan.
Pemeriksaan kesehatan diaktifkan secara default untuk port TCP.
Anotasi | Deskripsi | 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 yang valid:
Nilai default: | v2.6.0 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Jenis pemeriksaan kesehatan. Nilai yang valid:
Nilai default: | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout | Periode waktu untuk menunggu respons dari pemeriksaan kesehatan. Ini berlaku untuk pemeriksaan kesehatan TCP. Jika instans ECS backend tidak merespons dalam periode yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Nilai yang valid: 1 hingga 300. Jika nilai | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari Nilai yang valid: 2 hingga 10. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari success menjadi fail. Nilai yang valid: 2 hingga 10. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval antar pemeriksaan kesehatan. Unit: detik. Nilai yang valid: 1 hingga 50. Nilai default: 2. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener. | v1.9.3 dan 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: LoadBalancerSet up a UDP health check
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Semua anotasi berikut wajib digunakan.
Pemeriksaan kesehatan diaktifkan secara default untuk port UDP.
Anotasi | Deskripsi | 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 yang valid:
Nilai default: | v2.6.0 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout | Periode waktu untuk menunggu respons dari pemeriksaan kesehatan. Ini berlaku untuk pemeriksaan kesehatan TCP. Jika instans ECS backend tidak merespons dalam periode yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Nilai yang valid: 1 hingga 300. Jika nilai | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari fail menjadi success. Nilai yang valid: 2 hingga 10. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari success menjadi fail. Nilai yang valid: 2 hingga 10. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval antar pemeriksaan kesehatan. Unit: detik. Nilai yang valid: 1 hingga 50. Nilai default: 2. Untuk informasi selengkapnya, lihat CreateLoadBalancerUDPListener. | v1.9.3 dan 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: LoadBalancerDisable health checks for TCP and UDP listeners
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch
Deskripsi | Supported CCM versions |
Menentukan apakah akan mengaktifkan pemeriksaan kesehatan untuk listener TCP dan UDP. Nilai yang valid:
Nilai default: | v2.6.0 dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-switch: "off" # Disables health checks.
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerSet up an HTTP health check
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag | Nilai valid:
Nilai default: | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Jenis pemeriksaan kesehatan. Nilai yang valid:
Nilai default: Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri | URI untuk pemeriksaan kesehatan. Anda tidak perlu mengonfigurasi parameter anotasi ini untuk pemeriksaan kesehatan TCP. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode | Kode status HTTP yang menunjukkan pemeriksaan kesehatan berhasil. Pisahkan beberapa kode status dengan koma (,). Nilai yang valid:
Nilai default: Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain | Nama domain untuk pemeriksaan kesehatan. Nilai yang valid:
Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout | Periode waktu untuk menunggu respons dari pemeriksaan kesehatan. Ini berlaku untuk pemeriksaan kesehatan HTTP. Jika instans ECS backend tidak merespons dalam periode yang ditentukan, pemeriksaan kesehatan gagal. Unit: detik. Nilai yang valid: 1 hingga 300. Jika nilai Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold | Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari fail menjadi success. Nilai yang valid: 2 hingga 10. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold | Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan untuk mengubah status pemeriksaan kesehatan server backend dari success menjadi fail. Nilai yang valid: 2 hingga 10. Nilai default: 3. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval | Interval antar pemeriksaan kesehatan. Unit: detik. Nilai yang valid: 1 hingga 50. Nilai default: 2. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPListener. | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method | Metode pemeriksaan kesehatan untuk listener HTTP. Nilai yang valid:
| v2.3.0 dan 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"
# Optional. Set the HTTP status code for the health check.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode: "http_4xx"
# Optional. Set the domain name for the health check.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain: "www.aliyun.com"
# Optional. Set the method for the health check.
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: LoadBalancerConfigure connection draining for the listener
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut. Semua anotasi berikut wajib digunakan.
Fitur ini hanya didukung oleh protokol TCP dan UDP.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain | Menentukan apakah akan mengaktifkan drainase koneksi. Nilai valid:
| v2.0.1 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout | Periode timeout pengurasan koneksi. Unit: detik. Nilai yang valid: 10 hingga 900. | v2.0.1 dan 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: LoadBalancerConfigure extra request headers for the listener
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Fitur ini hanya didukung oleh protokol HTTP dan HTTPS.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-xforwardedfor-proto | Menentukan apakah akan menggunakan header X-Forwarded-Proto untuk mengambil protokol listener instans CLB. Nilai yang valid:
Nilai default: | v2.1.0 dan yang lebih baru |
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 yang valid:
Nilai default: | v2.9.1 dan yang lebih baru |
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 yang valid:
Nilai default: | v2.9.1 dan 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: LoadBalancerSet the idle connection timeout for the listener
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Fitur ini hanya didukung oleh protokol HTTP dan HTTPS.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idle-timeout | Periode timeout koneksi idle untuk listener. Unit: detik. Nilai yang valid: 1 hingga 60. Nilai default: 15 | v2.1.0 dan 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: LoadBalancerDisable the HTTP/2 feature for the listener
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Fitur ini hanya didukung oleh protokol HTTPS.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke CLB console dan lihat ID sertifikat di halaman Certificates. Catatan Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate. | v1.9.3.164-g2105d2e-aliyun dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-http2-enabled | Menentukan apakah akan mengaktifkan fitur HTTP/2. Nilai yang valid:
Nilai default: | v2.1.0 dan 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: LoadBalancerSpecify the request timeout for the listener
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Fitur ini hanya didukung oleh protokol HTTP dan HTTPS.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-request-timeout | Periode timeout permintaan. Unit: detik. Nilai yang valid: 1 hingga 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 dan 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: LoadBalancerSpecify the connection timeout for the listener
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-established-timeout
Fitur ini hanya didukung oleh protokol TCP.
Deskripsi | Supported CCM versions |
Periode timeout koneksi. Unit: detik. Nilai yang valid: 10 hingga 900. Untuk informasi selengkapnya, lihat CreateLoadBalancerTCPListener. | v2.3.0 dan 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: LoadBalancerConfigure a security policy for the listener
Annotation: Tersedia beberapa anotasi, sebagaimana dijelaskan dalam tabel berikut.
Fitur ini hanya didukung oleh protokol HTTPS.
Anotasi | Deskripsi | Supported CCM versions |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port | Pisahkan beberapa nilai dengan koma (,), misalnya, | v1.9.3 dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id | ID sertifikat di Alibaba Cloud. Login ke CLB console dan lihat ID sertifikat di halaman Certificates. Catatan Untuk membuat sertifikat, lihat Select an Alibaba Cloud-issued certificate. | v1.9.3.164-g2105d2e-aliyun dan yang lebih baru |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-tls-cipher-policy | Kebijakan keamanan mencakup versi protokol TLS dan paket sandi yang tersedia untuk HTTPS. Untuk informasi selengkapnya, lihat CreateLoadBalancerHTTPSListener. Nilai yang valid:
Nilai default: | v2.4.0 dan 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: LoadBalancerConfigure TCP and UDP protocols for the listener at the same time
Fitur ini memerlukan kluster Kubernetes versi v1.24 atau yang lebih baru. Untuk informasi selengkapnya tentang cara meningkatkan kluster, 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: LoadBalancerConfigure the Proxy Protocol for TCP and UDP listeners
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol
Deskripsi | Supported CCM versions |
Mengonfigurasi Proxy Protocol untuk listener TCP dan UDP. Setelah Anda mengonfigurasi Proxy Protocol, Anda dapat menggunakannya untuk membawa alamat IP sumber klien ke server backend. Nilai yang valid:
Nilai default: Penting Fitur ini tidak mendukung migrasi online yang mulus. Mengalihkan Proxy Protocol memerlukan peningkatan layanan dengan downtime. Konfigurasikan dengan hati-hati. | v2.6.0 dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-proxy-protocol: "on"
name: nginx
namespace: default
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
run: nginx
type: LoadBalancerOperasi kelompok server backend khas
Use worker nodes with a specific label as backend servers
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label
Deskripsi | Supported CCM versions |
Menentukan node pekerja yang akan disambungkan ke backend instans CLB. Anda dapat menentukan node pekerja menggunakan label. Pisahkan beberapa label dengan koma (,), misalnya, | v1.9.3 dan 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: LoadBalancerUse the nodes where pods reside as backend servers
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler
Secara default, externalTrafficPolicy diatur ke mode Cluster. Ini menyambungkan semua node dalam kluster ke kelompok server backend. Mode Local hanya menyambungkan node tempat pod berada sebagai server backend.
Deskripsi | Supported CCM versions |
Algoritma penjadwalan. Nilai valid:
Nilai default: | v1.9.3 dan 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: LoadBalancerRemove unschedulable nodes from the backend server group of the CLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend
Deskripsi | Supported CCM versions |
Menghapus node SchedulingDisabled dari kelompok server backend instans CLB. Nilai yang valid:
Nilai default: | v1.9.3.164-g2105d2e-aliyun dan 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: LoadBalancerDirectly attach pod ENIs to the backend of the CLB instance
Annotation: service.beta.kubernetes.io/backend-type
Deskripsi | Nilai default | Supported CCM versions |
Tipe server backend untuk instans CLB. Nilai yang valid:
|
| v1.9.3.164-g2105d2e-aliyun dan yang lebih baru |
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/backend-type: "eni"
name: nginx
spec:
ports:
- name: http
port: 30080
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancerGunakan ulang grup vServer yang ada
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port
Anda dapat menggunakan kembali kelompok vServer yang sudah ada. Fitur ini hanya berlaku saat Anda menggunakan kembali instans CLB yang sudah ada. Untuk contoh penggunaan, lihat Deploy services across clusters by reusing an SLB instance.
Set the weight of the Service to receive traffic
Annotation: 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 Service saat ini dalam menerima trafik. Anotasi ini hanya berlaku saat Anda menggunakan kembali kelompok vServer yang sudah ada. Untuk contoh penggunaan, 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 |
Mengabaikan pembaruan bobot server backend dalam kelompok vServer selama sinkronisasi Service. Konfigurasi ini cocok untuk skenario di mana Anda perlu mengelola bobot server backend secara manual menggunakan mekanisme selain CCM. Nilai yang valid:
Nilai default: | v2.11.1 dan 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