การดู : 112

02/07/2026 03:00น.

Kubernetes คืออะไร คู่มือสำหรับมือใหม่ Superdev Academy

Kubernetes คืออะไร? คู่มือฉบับสมบูรณ์สำหรับมือใหม่

#Kubernetes คืออะไร

#K8s คืออะไร

#Kubernetes เบื้องต้น

#Container Orchestration

#DevOps

#Kubernetes

#K8s

ถ้าคุณเคยได้ยินคำว่า Kubernetes แล้วรู้สึกงงว่ามันคืออะไร ทำไมถึงฮิต และเราจะใช้มันตอนไหน บทความนี้เขียนมาเพื่อคุณโดยเฉพาะ เราจะอธิบายทุกอย่างตั้งแต่พื้นฐาน โดยไม่ต้องมีประสบการณ์ DevOps มาก่อนก็เข้าใจได้

Kubernetes คืออะไร?

Kubernetes (อ่านว่า "คู-เบอร์-เนทีส") หรือที่นักพัฒนานิยมย่อว่า K8s (เพราะมีตัวอักษร 8 ตัวระหว่าง K กับ s) คือ ระบบสำหรับจัดการ Container แบบอัตโนมัติ (Container Orchestration Platform) ที่พัฒนาโดย Google และปัจจุบันดูแลโดย Cloud Native Computing Foundation (CNCF)

พูดง่าย ๆ คือ: Kubernetes ช่วยให้คุณ deploy, ขยาย, และดูแลแอปพลิเคชันที่รันอยู่บน Container ได้อย่างมีประสิทธิภาพ โดยไม่ต้องทำทุกอย่างด้วยมือ

💡 อุปมา: ลองนึกถึงท่าเรือขนส่งสินค้าขนาดใหญ่ Container คือกล่องสินค้าแต่ละกล่อง ส่วน Kubernetes คือระบบจัดการท่าเรือที่บอกว่าแต่ละกล่องต้องไปอยู่ตรงไหน ต้องเพิ่มหรือลดกล่องเมื่อใด และต้องทำอะไรเมื่อกล่องเสียหาย

ก่อนจะเข้าใจ Kubernetes ต้องรู้จัก Container ก่อน

Container คือวิธีการแพ็กแอปพลิเคชันพร้อมกับ library และ dependency ทั้งหมดที่ต้องการ ให้อยู่ใน "กล่อง" เดียวกัน ทำให้รันได้เหมือนกันทุกเครื่อง ไม่ว่าจะเป็น laptop ของนักพัฒนา หรือ server ในระบบ Production

Docker คือเครื่องมือที่ได้รับความนิยมมากที่สุดสำหรับสร้าง Container แต่เมื่อแอปโตขึ้น และต้องรัน Container หลายร้อยหรือหลายพันตัวพร้อมกัน — การจัดการด้วยมือกลายเป็นเรื่องที่แทบเป็นไปไม่ได้ นั่นแหละคือจุดที่ Kubernetes เข้ามาช่วย

ปัญหาที่ Kubernetes แก้ได้

สมมติว่าคุณมีเว็บแอปที่รัน Container อยู่ 50 ตัว คุณจะจัดการยังไงกับสถานการณ์เหล่านี้?

  • เซิร์ฟเวอร์ล่มกลางดึก Container พังไปครึ่งหนึ่ง

  • มีผู้ใช้งานพร้อมกัน 100,000 คน ต้องขยาย Container เพิ่มด่วน

  • อัปเดตแอปเวอร์ชันใหม่โดยไม่ให้ผู้ใช้สังเกตเห็น Downtime

  • กระจาย Container ไปหลาย ๆ เครื่องเพื่อไม่ให้เครื่องใดรับภาระหนักเกินไป

Kubernetes แก้ทุกปัญหาเหล่านี้ได้ โดยอัตโนมัติ ไม่ต้องมีคนเข้ามาแก้ตอนตี 3

Architecture ของ Kubernetes

Kubernetes ทำงานในรูปแบบ Cluster ที่ประกอบด้วยเครื่องหลายเครื่อง (Node) ทำงานร่วมกัน โดยแบ่งออกเป็น 2 ส่วนหลัก:

1. Control Plane

เป็นส่วนที่ควบคุมการทำงานทั้งหมดของ Cluster ประกอบด้วย component สำคัญ:

  • API Server: ประตูหลักรับ command ทุกอย่าง เช่น kubectl ที่เราพิมพ์

  • etcd: ฐานข้อมูลเก็บ state ทั้งหมดของ cluster

  • Scheduler: ตัดสินใจว่า Container ใหม่ควรไปอยู่บน Node ไหน

  • Controller Manager: คอยตรวจว่าสถานะปัจจุบันตรงกับที่เราต้องการหรือเปล่า

2. Worker Nodes

เครื่องที่รัน Container จริง ๆ แต่ละ Node จะมี:

  • Kubelet: agent ที่รับคำสั่งจาก Control Plane และดู Container ใน Node

  • Container Runtime: เช่น containerd หรือ Docker ที่รัน Container จริง

  • kube-proxy: จัดการ Network ระหว่าง Pod

Concept พื้นฐานที่ต้องรู้

Concept

ความหมาย

อุปมา

Pod

หน่วยที่เล็กที่สุดใน K8s บรรจุ Container 1+ ตัว

ห้องเช่า 1 ห้อง

Deployment

กำหนดว่าต้องการ Pod กี่ตัว และ update ยังไง

สัญญาเช่ากำหนดจำนวนห้อง

Service

ให้ IP คงที่เพื่อเข้าถึง Pod กลุ่มหนึ่ง

แผนกต้อนรับของตึก

Namespace

แบ่ง cluster ออกเป็น environment ย่อย

ชั้นต่าง ๆ ของตึก

ConfigMap

เก็บ config ที่ไม่ใช่ข้อมูลลับ

กระดานประกาศในตึก

Secret

เก็บข้อมูลลับ เช่น password, API key

ตู้เซฟในตึก

Ingress

ควบคุม traffic จากภายนอกเข้า Service

ประตูหน้าตึก

Kubernetes ทำงานอย่างไรในชีวิตจริง?

มาดูตัวอย่างง่าย ๆ ว่าเกิดอะไรขึ้นเมื่อเราสั่ง deploy แอปบน Kubernetes:

  1. 1. สั่ง deploy: เราเขียน YAML file กำหนดว่าต้องการ nginx 3 replicas แล้ว apply เข้า cluster

  2. 2. Scheduler ทำงาน: ค้นหา Node ที่มี resource เหลือพอ แล้วจัดสรร Pod 3 ตัวไปอยู่

  3. 3. Kubelet รับงาน: แต่ละ Node ดึง Container Image มา run

  4. 4. Monitoring ต่อเนื่อง: K8s คอยตรวจทุก ๆ ไม่กี่วินาที หาก Pod ใดพังก็สร้างใหม่อัตโนมัติ

  5. 5. Scale อัตโนมัติ: ถ้า CPU สูงเกิน threshold ที่กำหนด Horizontal Pod Autoscaler จะเพิ่ม Pod ให้เอง

Kubernetes เหมาะกับใคร?

Kubernetes ไม่ใช่เครื่องมือสำหรับทุกคน มาดูว่าเหมาะกับคุณไหม:

✅ เหมาะถ้าคุณ...

  • มีแอปที่ต้องรัน Container หลายสิบตัวขึ้นไป

  • ต้องการ High Availability แอปต้องออนไลน์ตลอด 24/7

  • ทีมใช้ Microservices architecture

  • ต้องการ deploy บ่อย ๆ โดยไม่มี downtime (Rolling Update / Blue-Green Deploy)

  • ต้องการ scale แอปได้อัตโนมัติตาม traffic

⚠️ อาจยังไม่ต้องการถ้า...

  • แอปเล็ก ๆ ที่รัน Container แค่ 1-2 ตัว

  • ทีมเล็กมาก ไม่มีคนดูแล infrastructure

  • เพิ่งเริ่มต้น อาจลองใช้ Docker Compose ก่อน

Kubernetes บน Cloud ไม่ต้องตั้งเองก็ได้

ข่าวดีสำหรับมือใหม่: Cloud provider รายใหญ่มีบริการ Kubernetes แบบ Managed ที่จัดการ Control Plane ให้คุณทั้งหมด คุณแค่ส่ง workload มารัน:

บริการ

Provider

ชื่อเต็ม

EKS

AWS

Elastic Kubernetes Service

GKE

Google Cloud

Google Kubernetes Engine

AKS

Microsoft Azure

Azure Kubernetes Service

DOKS

DigitalOcean

DigitalOcean Kubernetes

สำหรับมือใหม่ที่อยากลองเล่น แนะนำให้เริ่มจาก Minikube หรือ kind (Kubernetes in Docker) ที่รันบนเครื่องตัวเองได้เลย

kubectl เครื่องมือสั่งงาน Kubernetes

kubectl คือ command-line tool ที่ใช้สั่งงาน Kubernetes ลองดูคำสั่งพื้นฐานที่ใช้บ่อยที่สุด:

คำสั่ง

ความหมาย

kubectl get pods

ดูรายการ Pod ทั้งหมดใน namespace ปัจจุบัน

kubectl apply -f app.yaml

Deploy หรืออัปเดต resource ตาม YAML file

kubectl describe pod <name>

ดูรายละเอียดและ event ของ Pod

kubectl logs <pod-name>

ดู log ของ Container ใน Pod

kubectl delete pod <name>

ลบ Pod (K8s จะสร้างใหม่อัตโนมัติหากมี Deployment)

kubectl scale deployment <name> --replicas=5

ปรับจำนวน replica เป็น 5

เส้นทางการเรียนรู้ Kubernetes

ถ้าคุณอยากเริ่มเรียน Kubernetes แนะนำลำดับนี้:

  1. ขั้น 1: เรียน Docker ก่อน: ถ้ายังไม่เข้าใจ Container ให้เรียน Docker ให้ชัดก่อน เป็น prerequisite สำคัญ

  2. ขั้น 2: ติดตั้ง Minikube: ลอง run cluster บนเครื่องตัวเอง ทดลอง deploy แอปง่าย ๆ

  3. ขั้น 3: เขียน YAML: ทำความเข้าใจ Deployment, Service, ConfigMap ผ่านการเขียน YAML จริง

  4. ขั้น 4: Helm Charts: เรียนรู้ package manager ของ K8s สำหรับจัดการ application ที่ซับซ้อน

  5. 10.ขั้น 5: ลอง Cloud K8s: deploy บน GKE หรือ EKS เพื่อประสบการณ์ใกล้เคียง production จริง


สรุป: Kubernetes คืออะไรใน 5 ประโยค

Kubernetes คือแพลตฟอร์ม open-source สำหรับจัดการ Container อัตโนมัติ ช่วยให้แอปพลิเคชันรองรับผู้ใช้งานได้มากขึ้น เสถียรขึ้น และ deploy ได้เร็วขึ้น โดย K8s ดูแลการ scale, self-healing, load balancing, และ rolling update ให้คุณโดยอัตโนมัติ ทำให้ทีมพัฒนาโฟกัสกับการเขียนโค้ดได้เต็มที่ โดยไม่ต้องกังวลเรื่อง infrastructure ปัจจุบัน Kubernetes ได้กลายเป็น standard ของอุตสาหกรรมสำหรับการ deploy แอปบน Cloud

ฝากกดติดตามพวกเราได้ที่ Superdev Academy ในทุกช่องทางนะครับ!

  • 🔵 Facebook: Superdev Academy Thailand (อัปเดตข่าวสารและบทความใหม่)

  • 🎬 YouTube: Superdev Academy Channel (ติวเข้มแบบวิดีโอ)

  • 📸 Instagram: @superdevacademy (เกร็ดความรู้สั้นๆ และเบื้องหลังการทำงาน)

  • 🎬 TikTok: @superdevacademy (Tips & Tricks ฉบับย่อยง่าย)

  • 🌐 Website: superdevacademy.com (คลังบทความและคอร์สเรียนฉบับเต็ม)