ℹ️ Góp ý cải thiện tài liệu 
Để đóng góp chỉnh sửa, nhấp vào liên kết Gửi ticket ở khung bên phải.

Tổng quan: 

Auto Scaling cho Cluster là một tính năng trong Kubernetes cho phép tự động điều chỉnh kích thước của cụm (Cluster) cụ thể là số lượng các node trong cụm để đáp ứng nhu cầu sử dụng

Tính năng Auto Scaling có những điểm nổi bật sau:

Tối ưu hóa hiệu suất: Auto Scaling cho phép cụm tự động mở rộng tài nguyên khi có nhu cầu. Khi khối lượng công việc cao hơn, cụm sẽ tự động tạo thêm các node để đảm bảo các ứng dụng hoạt động với hiệu suất tốt nhất.

Tiết kiệm chi phí: Auto Scaling cho phép cụm tự động giảm tài nguyên khi không cần thiết. Nếu khối lượng công việc giảm đi, cụm sẽ tự động thu hồi các tài nguyên không sử dụng để tiết kiệm chi phí.

Đảm bảo tính sẵn sàng: Auto Scaling giúp đảm bảo rằng cụm có sẵn để đáp ứng nhu cầu sử dụng và tránh tình trạng quá tải hoặc thiếu tài nguyên.

Tự động phục hồi: Auto Scaling giúp tự động phục hồi từ các sự cố hoặc lỗi bằng cách tạo ra các node mới để thay thế các node bị hỏng.

Khi triển khai các ứng dụng trong môi trường cloud, việc sử dụng tính năng Auto Scaling giúp tối ưu hóa việc sử dụng tài nguyên, cải thiện tính sẵn sàng và hiệu suất của ứng dụng, và giúp quản lý cụm trở nên dễ dàng và hiệu quả hơn.

Cơ chế hoạt động:

Cơ chế Scale up: hệ thống VNPT K8s thực hiện scale up khi

Nếu thỏa mãn 2 điều kiện trên, hệ thống sẽ tăng số node (một hoặc nhiều nodes) để đáp ứng toàn bộ pods đang unscheduling. Quá trình này sẽ được thực hiện ngay lập tức theo 2 bước:

Bước 1: Hệ thống VNPT K8s tạo node mới theo cấu hình node group hiện tại.

Bước 2: Hệ thống VNPT K8s sẽ deploy các pods đang unscheduling này lên các node mới.

Chú ý : 

Khi hệ thống thực hiện Auto Scaling, việc tạo ra node mới có thể gặp lỗi nếu bạn không có đủ credit hoặc bạn đã hết quota để tạo VM trên hệ thống vServer. Để tránh gặp lỗi bên trên, bạn cần:

Yêu cầu tăng quota: Bạn có thể yêu cầu tăng quota cho tài khoản của mình tại đây

Cơ chế Scale down: hệ thống VNPT K8s thực hiện scale down khi

Một hoặc nhiều node có tải thấp liên tục trong một khoảng thời gian. Cụ thể node có utilization (độ khả dụng) bao gồm cả request CPU và memory của pod thấp ở mức < 50%.

Tất cả các pod hiện tại của node đó, có thể được di chuyển qua node khác mà không gặp vấn đề gì.

Nếu thỏa mãn 2 điều kiện trên, mặc định là trong khoảng 10 phút, node đó sẽ bị xóa đi khỏi Cluster. Quá trình xóa này sẽ bao gồm 3 bước:

Bước 1: Hệ thống VNPT K8s sẽ đánh dấu là node đó là unschedulable.

Bước 2: Hệ thống di chuyển (move) toàn bộ pod qua node khác.

Bước 3: Sau khi di chuyển tất cả các pod qua node khác thành công, hệ thống VKS sẽ xóa node được đánh dấu.