คอนเทนเนอร์· ~14 นาที
ดูแลคลัสเตอร์ในทางปฏิบัติ (+ Lab)
ตั้ง HPA + สร้างโหลด แล้วเฝ้าดูการสเกล
บทนี้รวมทุกอย่าง: จัด namespace, ตั้ง HPA, ยิงโหลดใส่ แล้วใช้ observability เฝ้าดูว่าระบบสเกลและฟื้นตัวยังไง
🧪 Lab: ดู HPA สเกลจริง
kubectl autoscale deployment/web --cpu-percent=50 --min=2 --max=10
# เปิดอีก terminal ยิงโหลด (busybox loop เรียก service)
kubectl run -it load --image=busybox --restart=Never -- \
/bin/sh -c "while true; do wget -q -O- http://web; done"
# เฝ้าดูจำนวน Pod เพิ่มขึ้นตามโหลด
kubectl get hpa -w
kubectl get pods -wK8s Scheduler & Self-Healing
ตั้งจำนวน Pod ที่อยากได้ (desired) แล้วดู Scheduler วางลง node ที่ว่าง · ลองปิด node เพื่อดู Pod ถูกย้ายไปที่อื่นให้ครบเสมอ
Desired replicas:
4
(แต่ละ node รับได้ 4 Pod)node-1
Pod
Pod
Pod
Pod
node-2
Pod
Pod
Pod
Pod
node-3
Pod
Pod
Pod
Pod
4
Desired
4
Running
0
Pending
✅ Scheduler กระจาย 4 Pod ลง node ที่ว่างอย่างสมดุล — ลองกด "ปิด node" ดูว่า Pod ถูกย้ายไปที่อื่นทันที
สรุป Key Takeaways
- HPA + โหลดจริง = เห็น Pod เพิ่มอัตโนมัติ แล้วลดเมื่อโหลดหาย
- HPA มีดีเลย์และ cooldown — scale ขึ้นเร็วกว่าลงเพื่อกัน flapping
- เก็บกวาด lab เสมอ โดยเฉพาะบน cloud
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

