AutoScale
AutoScale

Tính năng Autoscale được enable mặc định khi user thực hiện tạo Kubernetes Cluster với D-FKE.

Tính năng Autoscale của D-FKE được phát triển dựa trên công cụ cluster-autoscaler của kubernetes. Hệ thống sẽ tự động điều chỉnh số lượng worker nodes của cluster khi các điều kiện sau thỏa mãn:

  • Pods ở trạng thái pending do thiếu tài nguyên.
  • Nodes trong cluster sử dụng tài nguyên (CPU & RAM) nhỏ hơn 50% trong một khoảng thời gian (mặc định là 15 phút) và các Pods trên nodes đó có thể di chuyển qua nodes khác.

 

Tham khảo: https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler

 

Để sử dụng tính năng cluster-autoscaler, user sử dụng phối hợp với HPA (HorizontalPodAutoscaler)

  • Scale-up: HPA tự động tạo thêm Pods khi tài nguyên sử dụng vượt ngưỡng được đặt. Khi Pods mới được tạo ra, nếu Worker Nodes không đủ tài nguyên Pod request, cluster-autoscaler sẽ tự động tạo thêm Worker Nodes để đáp ứng số Pods được tạo mới.
  • Scale-down: HPA tự động giảm số lượng Pods khi tài nguyên sử dụng nhỏ hơn ngưỡng được đặt. Khi đó, các Nodes sẽ giảm tài nguyên sử dụng và được tự động giảm đi bởi cluster-autoscaler.

 

Tham khảo: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/

 

Để cố định số lượng worker nodes, user có thể đặt số lượng Min = Max.