
กรณีที่โนดขัดข้อง หรือมีความประสงค์ที่จะตั้งค่าโนดใหม่ มีขั้นตอนลบโนดออกจาก Kubernetes cluster ดังนี้
- หากโนดนั้นยังมี pod ทำงานอยู่ ให้หยุด pod ทั้งหมดบนโนดที่จะลบ
- ตรวจสอบว่ายังมี pod ทำงานในโนดดังกล่าวหรือไม่ (ยกเว้น pod ที่จัดการโดย DaemonSet และ pod ที่มีการใช้งาน local storage)
- ลบโนดออกจาก Kubernetes cluster
การหยุด pod ทั้งหมดบนโนด
สามารถหยุดการทำงานของ pod ทั้งหมด โดยใช้คำสั่ง
kubectl drain --ignore-daemonsets --delete-emptydir-data <ชื่อโนด>
โดยจะเห็นได้ว่ามีการใช้พารามิเตอร์เพิ่มเติม ดังนี้
- เพิ่มพารามิเตอร์
--ignore-daemonsets
เพื่อลบ pod โดยไม่สนใจ pod ที่ควบคุมโดย DaemonSet และ - เพิ่มพารามิเตอร์
--delete-emptydir-data
เพื่อบังคับลบ pod ที่มีการใช้งาน local storage
ตรวจ pod ในที่ทำงานในโนด
ใช้คำสั่ง เพื่อดูว่ายังมี pod ทำงานในโนดนั้นหรือไม่ โดยใช้คำสั่ง
kubectl get pods -A -o wide
หากไม่มี pod ทำงานอยู่ในโนดนั้นแล้ว (ยกเว้น pod ที่จัดการด้วย DaemonSet) สามารถลบโนดออกจาก Kubernetes cluster ได้ในขั้นตอนถัดไป
ลบโนดออกจาก Kubernetes cluster
โดยใช้คำสั่ง:
kubectl delete node <ชื่อโนด>