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 |
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, 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-clouddigunakan dalam bidangannotationsmenggantikanalicloud.Contoh:
Sebelum pembaruan:
service.beta.kubernetes.io/alicloud-loadbalancer-idSetelah pembaruan:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-idSistem 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: LoadBalancerCreate 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:
Nilai default: 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:
| 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: LoadBalancerSpecify 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:
Nilai default: Penting
| 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:
Nilai default: 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: LoadBalancerUse 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.
| 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: LoadBalancerUse 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.
| 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.
Nilai default: Penting Ketika Anda menggunakan kembali instans CLB yang sudah ada dan mengatur | 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: LoadBalancerSpecify 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: LoadBalancerCreate 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:
Nilai default: | 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: LoadBalancerSpecify 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:
Nilai default: | 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 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: LoadBalancerSpecify 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:
Nilai default: | 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 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.
| 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: nginxAdd 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, 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: LoadBalancerCreate 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:
Nilai default: | 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: LoadBalancerEnable 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:
Nilai default: 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 | 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: LoadBalancerEnable 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:
Nilai default: | 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: LoadBalancerSpecify 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: LoadBalancerSpecify 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: LoadBalancerSet 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, | 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:
| 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: LoadBalancerExpected 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 10sCreate 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:
Nilai default: Penting
| 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: LoadBalancerRetain 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 Saat fitur ini diaktifkan, event Peringatan bertipe Nilai:
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: LoadBalancerCommon 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: LoadBalancerConfigure 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:
Nilai default: 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
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 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 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, | 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: LoadBalancerConfigure 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:
Nilai default: | 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 | v1.9.3.164-g2105d2e-aliyun dan seterusnya |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type | Jenis kontrol akses. Nilai:
| 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: LoadBalancerSpecify 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, | 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, | 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: LoadBalancerSet the scheduling algorithm for an SLB instance
Annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler
Description | Supported CCM versions |
Algoritma penjadwalan. Nilai:
Nilai default: Untuk informasi selengkapnya tentang nilai parameter ini, lihat bidang | 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: LoadBalancerCreate a UDP listener
apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
spec:
ports:
- port: 80
protocol: UDP
targetPort: 80
selector:
run: nginx
type: LoadBalancerCreate 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, | 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: LoadBalancerCreate 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, | 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: LoadBalancerConfigure 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, | 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 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: LoadBalancerCreate 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:
Nilai default: | v2.6.0 dan seterusnya |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Jenis pemeriksaan kesehatan. Nilai:
Nilai default: | 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 | 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 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: LoadBalancerSet 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:
Nilai default: | 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 | 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: LoadBalancerDisable 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:
Nilai default: | 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: LoadBalancerSet 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:
Nilai default: | v1.9.3 dan seterusnya |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type | Jenis pemeriksaan kesehatan. Nilai:
Nilai default: 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:
Nilai default: 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:
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 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, | v1.9.3 dan seterusnya |
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-method | Metode pemeriksaan kesehatan untuk listener HTTP. Nilai:
| 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: LoadBalancerEnable 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:
| 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: LoadBalancerConfigure 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, | 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:
Nilai default: | 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:
Nilai default: | 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:
Nilai default: | 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: LoadBalancerSet 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, | 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: LoadBalancerDisable 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, | 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:
Nilai default: | 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: LoadBalancerSpecify 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, | 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: LoadBalancerSpecify 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: LoadBalancerConfigure 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, | 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:
Nilai default: | 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: LoadBalancerConfigure TCP and UDP protocols for a listener at the same time
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: LoadBalancerConfigure 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:
Nilai default: 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: LoadBalancerOperasi 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, | 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: LoadBalancerUse 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:
Nilai default: | 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: LoadBalancerRemove 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:
Nilai default: | 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: LoadBalancerDirectly 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:
|
| 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: LoadBalancerReuse 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:
Nilai default: | 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