คอนเทนเนอร์· ~15 นาที
Scaling และ Self-Healing ในทางปฏิบัติ (+ Lab)
สเกลขึ้นลงด้วยมือ และพิสูจน์ว่า K8s กู้ Pod ที่หายไปจริง
เรื่องนี้คือการเอาแนวคิดจากบทก่อนมาลองด้วยมือ — สั่งเพิ่มพนักงาน (scale up), ลองไล่พนักงานออกหนึ่งคน (ลบ Pod) แล้วดูว่าหัวหน้ากะเรียกคนใหม่มาแทนจริงไหม (self-healing)
สเกลด้วยมือ
# วิธี imperative (เห็นผลไว เหมาะทดลอง)
kubectl scale deployment/web --replicas=5
# วิธี declarative (แนะนำ): แก้ replicas ในไฟล์ แล้ว
kubectl apply -f deployment.yaml🧪 Lab: พิสูจน์ self-healing
# ดู Pod ปัจจุบัน (สมมติมี 3 ตัว)
kubectl get pods -l app=web
# ลบ Pod ทิ้งไป 1 ตัว
kubectl delete pod <ชื่อ-pod-ตัวหนึ่ง>
# ดูอีกที — จะเห็น Pod ใหม่ถูกสร้างแทนภายในไม่กี่วินาที!
kubectl get pods -l app=web -w # -w = เฝ้าดูแบบ real-timeK8s 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
- สเกลด้วย kubectl scale (imperative) หรือแก้ replicas ในไฟล์แล้ว apply (declarative)
- ลบ Pod ตรง ๆ ไม่ได้ผล — ReplicaSet สร้างใหม่ให้ครบ desired เสมอ
- จะลด Pod จริงต้องแก้ที่ Deployment ไม่ใช่ที่ Pod
- auto-scaling (HPA) เป็นเรื่องของโมดูลถัดไป
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

