Tích hợp Load Balancer và Persistent Volume
Kubernetes Engine tích hợp sẵn với dịch vụ Bizfly Cloud Server và Bizfly Load Balancer. Cho phép cluster của bạn sử dụng tính năng LoadBalancer service và tính năng Persistent Volume
LoadBalancer service
Kubernetes cung cấp một loại service có type = LoadBalancer
, ví dụ
apiVersion: v1
kind: Service
metadata:
name: example-service
spec:
selector:
app: example
ports:
- port: 8765
targetPort: 9376
type: LoadBalancer
Mỗi LoadBalancer service trên Kubernetes cluster tương ứng là một instance Load Balancer trên dịch vụ Bizfly Load Balancer và được hiển thị trên dashboard.
Tham khảo thêm Create an External Load Balancer
Tuỳ chỉnh LoadBalancer
Sử dụng các annotations dưới đây khi thực thiện tạo service để tuỳ chỉnh Load Balancer phù hợp với nhu cầu của bạn
Annotation | Giá trị mặc định | Mô tả |
---|---|---|
kubernetes.bizflycloud.vn/load-balancer-type |
small | Loại LoadBalancer: small , medium , large |
kubernetes.bizflycloud.vn/load-balancer-network-type |
external | Kiểu kết nối: internal hoặc external |
kubernetes.bizflycloud.vn/vpc-network-name |
null | Tên VPC network (đối với kiểu kết nối internal ) |
kubernetes.bizflycloud.vn/enable-proxy-protocol |
false | Bật/tắt proxy protocol |
kubernetes.bizflycloud.vn/enable-ingress-hostname |
false | Advertise LB ingress IP dưới dạng hostname <IP>.nip.io |
kubernetes.bizflycloud.vn/target-node-labels |
"" | Chỉ định LB trỏ vào nhóm node nhất định theo label theo dạng key1=value1, key2=value2 |
Persistent Volume
Bizfly Kubernetes Engine hỗ trợ 6 loại Storage Class tương ứng cho 3 loại server, phù hợp với các nhu cầu khác nhau.
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
basic-hdd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
basic-ssd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
dedicated-hdd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
dedicated-ssd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
enterprise-hdd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
enterprise-ssd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
premium-hdd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
premium-ssd1 volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 18h
Hãy lưu ý sử dụng storageclass phù hợp với loại worker node. Tham khảo thêm Kubernetes Persistent Volumes
WaitForFirstConsumer
binding mode
PersistentVolume sẽ tạm thời chưa được tạo nếu chúng chưa được sử dụng bởi một Consumer (Deployment, Statefulset, Pod, ..) nào đó. Nếu bạn tạo PVC mà không gắn nó vào Consumer nào, PVC sẽ ở trạng thái Pending.
Điều này giúp đảm bảo Volume ở cùng Availability Zone với Consumer trong trường hợp cluster chạy trên nhiều AZ khác nhau (multi-AZ).
Chỉ định tên của Storage Class khi tạo PersistentVolumeClaim, ví dụ
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi
storageClassName: premium-hdd1
Kiểm tra PersistentVolumeClaim đã được tạo tương ứng và đang ở trạng thái pending chờ consumer sử dụng.
> kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
example-pvc Pending premium-hdd1 7s