Dùng dao mổ trâu để giết gà

Cứ để default node group thôi, mình scale được mà 
– Nhưng scale đâu không thấy, chỉ thấy bill AWS nặng như gánh lúa!

Audit EKS mà thấy 6 node c5.large chạy 24/7, CPU dùng có 10%, tôi chỉ muốn hỏi: “ Sao không ai tối ưu?”. Cluster như cái lò đốt tiền, pod thì nhàn nhã, còn ngân sách thì khóc thét.

Bill AWS khi EKS chạy 6 node mà pod chỉ dùng 10% CPU

Thực trạng: Node group lãng phí

Thực trạng:  
  • Node group cố định: 6 node c5.large chạy liên tục, dù workload nhẹ.  
  • Không tận dụng autoscaling: Cluster Autoscaler không bật, hoặc cấu hình sai.  
  • Không chia node pool: Tất cả workload (batch, web, job) chạy chung node type.
Hệ quả:  
  • Chi phí cao: Node chạy idle, tốn tiền vô ích.  
  • Không tối ưu: Workload nặng không scale, workload nhẹ lại chiếm node xịn.  
  • Khó quản lý: Không biết node nào đang “ăn” tiền nhiều nhất.

Giải pháp: Tối ưu node group

Để tiết kiệm:  
  • Chia node pool: Tạo node group riêng cho workload (spot instance cho job ngắn, on-demand cho web).  
  • Dùng Karpenter/Cluster Autoscaler: Tự động scale node theo nhu cầu.  
  • Monitor chi phí: Dùng AWS Cost Explorer để phân tích chi phí EKS.

Ví dụ: Cấu hình Karpenter:

apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
  name: default
spec:
  requirements:
    - key: node.kubernetes.io/instance-type
      operator: In
      values: ["t3.medium", "t3.large"]
  provider:
    instanceProfile: "KarpenterNodeRole"


🎯 Tóm lại: EKS không tự tiết kiệm chi phí. Chia node pool, dùng autoscaler, và monitor chi phí để bill AWS không thành “gánh lúa”.

Post a Comment

Mới hơn Cũ hơn