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 proxy protocol |
kubernetes.bizflycloud.vn/enable-ingress-hostname |
false | Advertise LB ingress IP dưới dạng hostname <IP>.nip.io |
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
dedicated-hdd volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 15s
dedicated-ssd volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 15s
enterprise-hdd volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 15s
enterprise-ssd volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 15s
premium-hdd (default) volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 15s
premium-ssd volume.csi.bizflycloud.vn Delete WaitForFirstConsumer true 15s
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-hdd
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-hdd 7s