CHƯƠNG 10 · Helm, GitOps & Operators•BÀI 40 / 80

HPA, KEDA, Operators và NetworkPolicy

Mỗi controller giải quyết một dạng automation khác nhau.

Kubernetes◷ 4 phút đọc4/4 trong chương

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

Metrics/events→controller→desired replicas

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.

TÀI NGUYÊN ĐI KÈM

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
NGUỒN CHÍNH THỨC

Đố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 ↗