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

Kubernetes ทำอะไรได้บ้าง (ภาพรวม)

สรุปความสามารถหลัก 5 อย่างของ K8s ก่อนลงลึก

ปูพื้นฐาน: Kubernetes มีหลักคิดที่เปลี่ยนจากการ "สั่งงานทีละสเต็ป" (Imperative) เป็นการ "สั่งผลลัพธ์ที่อยากได้" (Declarative)

Kubernetes คือผู้จัดการโรงแรม

มอง Kubernetes เป็นผู้จัดการโรงแรมอัจฉริยะ — คุณบอกแค่ว่า "อยากให้มีพนักงานต้อนรับ 5 คนประจำเสมอ" ผู้จัดการจะคอยนับ ถ้าใครลาป่วยก็เรียกคนมาแทนทันที ถ้าแขกล้นก็เพิ่มคน และจัดตารางว่าใครยืนจุดไหน — โดยที่คุณไม่ต้องสั่งทีละคน

หัวใจ: Declarative + Desired State

แนวคิดที่สำคัญที่สุดของ K8s คือ declarative — เราประกาศ "ปลายทางที่อยากได้" (เช่น "เว็บนี้ต้องมี 3 ก๊อปปี้รันอยู่เสมอ") ลงในไฟล์ ไม่ใช่สั่งทีละสเต็ปว่าต้องทำอะไร · K8s จะเทียบ desired state (สิ่งที่อยากได้) กับ current state (สิ่งที่เป็นอยู่) ตลอดเวลา แล้วปรับให้ตรงกันเอง เรียกว่า reconciliation loop

วนเทียบ desired ↔ current แล้วปรับให้ตรง

Desired Stateอยากได้ 3 Pod
เทียบ
Controllerตรวจความต่าง
สั่งแก้
Current Stateเหลือ 2 Pod
สร้าง Pod เพิ่ม 1 → ครบ 3

ทำซ้ำตลอดเวลา = self-healing · ไม่ว่าอะไรพัง ระบบดึงกลับสู่ desired เสมอ

K8s วนเทียบ desired vs current ตลอดเวลา แล้วแก้ให้ตรง — หัวใจของ self-healing

ความสามารถหลัก 5 อย่าง

  • Self-healing — container ล่ม/เครื่องดับ K8s สร้างใหม่ให้อัตโนมัติจนครบจำนวนที่สั่ง
  • Scaling — เพิ่ม/ลดจำนวน container ตามโหลด (สั่งเองหรือให้ auto ตาม CPU/เมตริก)
  • Service discovery & load balancing — ให้ชื่อคงที่กับกลุ่ม container และกระจาย traffic ให้
  • Automated rollout & rollback — อัปเดตเวอร์ชันแบบค่อยเป็นค่อยไป ถ้าพังย้อนกลับได้
  • Config & secret management — แยกค่าตั้งค่า/รหัสลับออกจาก image

สรุป Key Takeaways

  • K8s ทำงานแบบ declarative: เราประกาศ desired state, K8s ปรับ current state ให้ตรงเองตลอดเวลา
  • Reconciliation loop คือกลไกเบื้องหลัง self-healing
  • 5 ความสามารถหลัก: self-healing, scaling, service discovery/LB, rollout/rollback, config/secret

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

Kubernetes ทำอะไรให้เราบ้างแบบเห็นภาพ

เราประกาศ "สภาพที่อยากได้" (desired state เช่น app นี้รัน 3 ชุด เวอร์ชันนี้) แล้ว K8s ทำให้เป็นจริงตลอดเวลา: เครื่องตายก็ย้าย pod ไปเครื่องอื่น, pod พังก็สร้างใหม่, deploy ใหม่ก็ทยอยเปลี่ยนทีละตัว — หัวใจคือ reconciliation loop ที่คอยเทียบสภาพจริงกับที่ประกาศ

K8s อ่านว่าอะไร แล้ว K8s ต่างจาก Docker ไหม

อ่านว่า "คูเบอร์เนติส" (K8s = K + 8 ตัวอักษร + s) — ไม่ใช่คู่แข่ง Docker: Docker สร้าง/รัน container ทีละเครื่อง ส่วน K8s จัดวง container นับพันข้ามหลายเครื่อง โดยข้างในใช้ container runtime (containerd) รัน container ที่ build ด้วย Docker ได้ตามปกติ

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