HPA, KEDA, Operators và NetworkPolicy
Mỗi controller giải quyết một dạng automation khác nhau.
Nắm bản chất
HPA thay đổi replicas dựa trên CPU/memory/custom metrics; KEDA cung cấp event-driven scaling từ queue, stream hoặc external systems qua ScaledObjects. Kubernetes Operators kết hợp CRDs + reconciliation logic để tự động hóa vòng đời phần mềm phức tạp.
NetworkPolicy mô tả allowed network flows, cần CNI có enforcement. Một số
environments lab có manifests hợp lệ nhưng dataplane không thực thi, nên phải
luôn kiểm tra allow/deny thật thay vì chỉ kiểm tra
kubectl apply thành công.
Luồng hoạt động
Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?
Lệnh & cấu hình mẫu
kubectl get hpa -A
kubectl get crds | grep -E 'scaledobjects|servicemonitors'
kubectl -n app describe hpa api
kubectl -n app get networkpolicies
Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.
Bài tập 10–20 phút
Trong lab Buổi 10, tạo HPA theo CPU và quan sát desired replicas dưới tải. Đối với Redis queue, phác thảo KEDA ScaledObject nhưng chỉ apply khi KEDA operator đã cài và authentication đúng.
Lỗi dễ mắc
Đừng để một HPA và một scaler khác cùng ghi /scale cho một
workload nếu chưa thiết kế coordination; kết quả có thể dao động ngoài dự
kiến.
Tự kiểm tra
KEDA có tự tạo EC2 nodes khi Pods Pending không?Xem đáp án ↗
Không. KEDA scale workload replicas; node capacity cần giải pháp node autoscaling khác.
Học thêm qua lab
Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.
↓ Tải mã nguồn thực hành chương 10Đối chiếu tài liệu gốc
Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.
Mở tài liệu chính thức ↗