CHƯƠNG 14 · Cloud Architecture & FinOps•BÀI 56 / 80

Karpenter, RDS HA và FinOps

Scale thông minh nhưng không đánh đổi tính sẵn sàng mù quáng.

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

Nắm bản chất

HPA/KEDA scale Pods; Karpenter provision node capacity dựa trên Pod scheduling requirements và NodePools. NodeClass xác định AMI/IAM/subnet/security groups. Spot giảm chi phí trong workloads chịu interruption; cần idempotent jobs, graceful shutdown và retry.

RDS Multi-AZ hỗ trợ HA nhưng không thay backups/PITR: xóa nhầm dữ liệu vẫn có thể replication. FinOps đánh giá cost per business outcome (job thành công, request đạt SLO), không chỉ giảm EC2 bill. Một NAT Gateway tập trung có thể giảm giá lab nhưng tạo SPOF/cross-AZ costs.

Luồng hoạt động

Pods Pending→Karpenter→EC2 capacity

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 nodepools,nodeclaims
kubectl -n kube-system logs deploy/karpenter --tail=100
python3 finops/estimate.py --rates finops/assumptions.example.json

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

✳

Chạy FinOps estimator offline của Buổi 14. Thay giả định nodes, NAT và RDS, đánh giá thay đổi cost/job; ghi rõ mọi đơn giá chỉ là giả định.

Lỗi dễ mắc

!

Đừng dùng al2023@latest/Spot mà không pin/test AMI hoặc thiết kế disruption controls cho production critical workloads.

Tự kiểm tra

Tăng `maxReplicas` HPA có tự đảm bảo EC2 capacity không?Xem đáp án ↗

Không. Cần node autoscaling/provisioning và đủ AWS quotas/network resources.

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 14
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 ↗