Thay đổi cấu hình flavor của Worker Group
Dịch vụ FPT Managed Kubernetes Engine không cho phép update cấu hình flavor của worker trong Worker Group một cách trực tiếp, thay vào đó người dùng cần tạo Worker Group mới với cấu hình flavor mong muốn cho worker. Điều này đã được đề cập trong mục số 9 của tài liệu FAQs dịch vụ FPT Managed Kubernetes Engine
Cách thay đổi flavor của Worker Group trong dịch vụ FPT Managed Kubernetes Engine**
Bước 1: Tạo Worker Group mới
- Tạo một Worker Group mới với cấu hình flavor mà bạn mong muốn.
- Đảm bảo các node trong pool mới đã hoạt động ổn định và tham gia vào cluster.
Bước 2: Sau khi tạo Worker Group mới, người dùng cần chuyển ứng dụng từ Worker Group có cấu hình flavor cũ sang Worker Group có cấu hình flavor mới
Việc chuyển ứng dụng này người dùng có thể tham khảo một vài cách ví dụ như sau:
Trường hợp 1: Ứng dụng được deploy sử dụng nodeSelector
- Gán label của Worker Group mới giống với Worker Group cũ
- Sau đó, xóa Worker Group cũ khỏi cluster → Các pod của ứng dụng này sẽ được tạo mới ở trên Worker Group mới. Đến khi pod ứng dụng được tạo mới thành công, các pod ứng dụng trên Worker Group cũ sẽ xóa đi. Khi các ứng dụng trên Worker Group cũ được evict hoàn toàn, các worker trong Worker Group cũ sẽ bị drain và xóa bỏ khỏi cluster.
Trường hợp 2: Ứng dụng không dùng nodeSelector 3. Chạy lệnh cordon để ngăn các node trong Worker Group cũ nhận pod mới. 4. Sau đó, thực hiện rollout restart để khởi động lại các pod ứng dụng để các mới sẽ được khởi tạo sang Worker Group mới, các pod trên worker cũ sẽ bị terminate đi 5. Sau khi các pod ứng dụng chuyển thành công hàn toàn sang worker pood mới, người dùng thực hiện xóa Worker Group cũ trên portal
Lưu ý quá trình cluster drain và xóa bỏ Worker Group cũ có thể không được thực hiện thành công tự động hoàn toàn do một vài lý do như:
- Ứng dụng dùng Pod Disruption Budget (PDB) – giới hạn số pod có thể bị xóa cùng lúc.
- Ứng dụng có sử dụng Persistent Volume Claim (PVC) dạng block.
- Trong các trường hợp trên, bạn cần chủ động kiểm tra và evict thủ công các pod chưa bị xóa, để đảm bảo ứng dụng chuyển hết sang Worker Group mới.
Khuyến nghị
- Nên thực hiện thay đổi này vào giờ thấp điểm để tránh ảnh hưởng đến người dùng thật.
- Theo dõi trạng thái pod và ứng dụng sau khi chuyển để đảm bảo mọi thứ hoạt động ổn định.