ข้ามไปเนื้อหาหลัก
คอนเทนเนอร์· ~12 นาที· อัปเดตล่าสุด

ภาพรวมคลัสเตอร์: สมอง กับ กล้ามเนื้อ

Control plane สั่งการ, Worker node ลงมือทำ

K8s (Kubernetes): คือ แพลตฟอร์มสำหรับจัดการคอนเทนเนอร์ (Container Orchestration) แบบอัตโนมัติ ช่วยให้เราดูแลแอปพลิเคชันจำนวนมากได้โดยไม่ต้องมานั่งจัดการทีละเครื่อง

Kubernetes คือร้านอาหารขนาดใหญ่

คลัสเตอร์ Kubernetes เหมือนครัวร้านอาหารใหญ่Control plane คือเชฟใหญ่/ผู้จัดการ ที่รับออเดอร์ ตัดสินใจ และสั่งงาน ส่วน Worker node คือเชฟลูกมือหลายคน ที่ลงมือทำอาหารจริง · ลูกค้า (เรา) คุยกับผู้จัดการเท่านั้น ไม่ต้องเดินไปสั่งลูกมือทีละคน

Cluster: คือ กลุ่มเครื่องเซิร์ฟเวอร์ (จริงหรือเสมือน) ที่ทำงานร่วมกันภายใต้การดูแลของ Kubernetes โดยแบ่งบทบาทเป็น 2 ฝั่งหลักๆ คือ สมอง (Control Plane) และ กล้ามเนื้อ (Worker Nodes)

Control plane สั่งการ · Worker nodes รัน Pod

คุณ (kubectl)ผู้ใช้/CI
ผ่าน API server
Control Plane (สมอง)
API server
etcdสถานะ
Scheduler
Controllers
Worker Nodes (กล้ามเนื้อ)

node-1 · kubelet

PodPod

node-2 · kubelet

PodPod

node-3 · kubelet

PodPod
Control plane (สมอง) สั่งการ · Worker nodes (กล้ามเนื้อ) รัน Pod จริง · เราคุยผ่าน API server
  • Control plane = สมองของคลัสเตอร์ ตัดสินใจทุกอย่าง (จะวาง Pod ที่ไหน, มีอะไรล่มไหม, ต้องแก้อะไร)
  • Worker nodes = เครื่องที่รัน container (Pod) จริง ๆ ตามที่ control plane สั่ง
  • เรา (ผู้ใช้) สื่อสารกับคลัสเตอร์ผ่าน API server ที่อยู่บน control plane เท่านั้น
kubectl get nodes
kubectl describe node <node-name>
💻 Hands-on: เช็คสถานะและรายละเอียดของ Node

สรุป Key Takeaways

  • Cluster = control plane (สมอง สั่งการ) + worker nodes (กล้ามเนื้อ รัน Pod)
  • เราคุยกับคลัสเตอร์ผ่าน API server บน control plane เท่านั้น
  • Node = หนึ่งเครื่องในคลัสเตอร์ · devอาจมี node เดียว, production มีหลาย node

คำถามที่พบบ่อย

Control plane กับ worker node แบ่งหน้าที่ยังไง

Control plane = สมอง (ตัดสินใจ วาง pod ที่ไหน เก็บสถานะ) ส่วน worker node = แรงงาน (รัน container จริง) — แอปของเรารันบน worker เสมอ ส่วน control plane ใน managed service (EKS/GKE) ผู้ให้บริการดูแลให้เราไม่ต้องแตะ

ถ้า control plane ล่ม แอปที่รันอยู่ดับไหม

ไม่ดับทันที — pod ที่รันอยู่บน worker ยังทำงานต่อ แต่จะ "แช่แข็ง": สั่ง deploy/scale ใหม่ไม่ได้ pod ตายแล้วไม่มีใครสร้างแทน — เข้าใจข้อนี้จะเห็นภาพว่าส่วนไหนทำหน้าที่อะไรจริงๆ

อ่านจบแล้วอย่าลืมทำเครื่องหมาย