ข้ามไปเนื้อหาหลัก
คอนเทนเนอร์· ~11 นาที

ส่วนประกอบของ Worker Node

kubelet, container runtime, kube-proxy บนเครื่องที่รัน Pod จริง

เปรียบเทียบให้เห็นภาพ

บนเครื่องลูกมือแต่ละเครื่องมีทีมเล็ก ๆ: kubelet = หัวหน้ากะประจำเครื่อง (รับใบสั่งจากสำนักงานใหญ่แล้วดูแลให้ Pod รันตามนั้น), container runtime = พ่อครัวที่ลงมือทำจริง, kube-proxy = พนักงานเดินโต๊ะ ที่จัดเส้นทางให้ลูกค้าเจอโต๊ะที่ถูก

kubelet — ตัวแทนของ control plane บนแต่ละ node

kubelet เป็น agent ที่รันบนทุก worker node คอยรับว่า node นี้ต้องมี Pod อะไรบ้าง แล้วสั่ง container runtime ให้รัน จากนั้นรายงานสถานะสุขภาพกลับไปที่ control plane เรื่อย ๆ

Container runtime — คนรัน container จริง

ซอฟต์แวร์ที่ดึง image และรัน container จริง ๆ (เช่น containerd, CRI-O) · เมื่อก่อนคือ Docker แต่ปัจจุบัน K8s ใช้ผ่านมาตรฐาน CRI (Container Runtime Interface)

kube-proxy — เครือข่ายบน node

kube-proxy จัดการกฎเครือข่ายบน node เพื่อให้ traffic ที่ยิงมาที่ Service ถูกส่งต่อไปยัง Pod ปลายทางที่ถูกต้อง (เป็นพื้นฐานของ service discovery ที่จะเรียนใน Module Networking)

สรุป Key Takeaways

  • kubelet = agent บนทุก node ดูแลให้ Pod รันตามที่ control plane สั่ง + รายงานสุขภาพ
  • Container runtime (containerd/CRI-O) = ตัวรัน container จริงผ่านมาตรฐาน CRI
  • kube-proxy = จัดเส้นทางเครือข่ายให้ traffic ถึง Pod ที่ถูกต้อง
อ่านจบแล้วอย่าลืมทำเครื่องหมาย