Wednesday, September 23, 2026

[Kubernetes] วิธีการเปิดใช้งานและทดลองใช้ Kubernetes (Kube) บน Docker Desktop

สำหรับบทเรียนนี้ เราจะมาเรียนรู้วิธีการเปิดใช้งานและทดลองใช้ Kubernetes (Kube) บน Docker Desktop แบบมือจับทำทีละขั้นตอนครับ เหมาะมากสำหรับผู้เริ่มต้นที่ต้องการสภาพแวดล้อมทดสอบ Local Cluster โดยไม่ต้องติดตั้งเครื่องมือซับซ้อนเพิ่มเติม


ขั้นตอนที่ 1: เปิดใช้งาน Kubernetes ใน Docker Desktop

ปกติแล้ว Docker Desktop จะมาพร้อมกับ Kubernetes ในตัว แต่ถูกปิดไว้อยู่ ให้เปิดใช้งานตามนี้ครับ:

  1. เปิดโปรแกรม Docker Desktop ขึ้นมา
  2. กดที่ไอคอนรูปเฟือง ⚙️ (Settings) บริเวณมุมขวาบน
  3. เลือกแถบเมนู Kubernetes จากรายการด้านซ้าย
  4. ติ๊กถูกที่ช่อง Enable Kubernetes
  5. กดปุ่ม Apply & restart ด้านล่างขวา
  6. รอระบบดาวน์โหลดและเริ่มต้นบริการ (อาจใช้เวลา 3–5 นาที สังเกตไอคอนมุมซ้ายล่างจะเปลี่ยนเป็นสีเขียว)

ขั้นตอนที่ 2: ตรวจสอบความพร้อมผ่าน Terminal

หลังจากเปิดใช้งานเรียบร้อย ให้เปิด Command Prompt, PowerShell หรือ Terminal ขึ้นมา เพื่อทดสอบเครื่องมือควบคุมที่ชื่อว่า kubectl ครับ

1. ตรวจสอบเวอร์ชัน:

พิมพ์คำสั่งด้านล่างเพื่อเช็กว่าเครื่องมือมองเห็น Cluster แล้วหรือยัง:

kubectl version --short

2. ตรวจสอบสถานะ Node:

เช็กสถานะของ Cluster โดยรันคำสั่ง:

kubectl get nodes

หากสำเร็จ จะเห็นรายการ node ชื่อ docker-desktop แสดงสถานะเป็น Ready


ขั้นตอนที่ 3: ทดลอง Deploy แอปพลิเคชันแรก (Hands-on)

มาลองสั่งสร้าง Web Server ง่ายๆ ด้วย Nginx เพื่อดูการทำงานของ Pod กันครับ:

1. สั่งรัน Nginx Pod:

kubectl create deployment my-nginx --image=nginx

2. ตรวจสอบ Pods ที่กำลังทำงาน:

kubectl get pods

รอจนกว่าคอลัมน์ STATUS จะเปลี่ยนจาก ContainerCreating เป็น Running

3. เปิดช่องทางเข้าถึงผ่าน Browser (Expose Service):

kubectl expose deployment my-nginx --port=80 --type=NodePort

4. ทดสอบเข้าใช้งาน:

ตรวจสอบ Port ที่ถูกสุ่มสร้างขึ้นมาด้วยคำสั่ง:

kubectl get services

ดูตัวเลขในคอลัมน์ PORT(S) เช่น 80:31234/TCP จากนั้นเปิด Browser แล้วพิมพ์ http://localhost:31234 จะพบหน้า Welcome to nginx!


ขั้นตอนที่ 4: การลบข้อมูลและทำความสะอาด (Clean Up)

เมื่อทดลองเสร็จแล้ว ควรลบ Resource เพื่อไม่ให้กินทรัพยากรเครื่องครับ:

kubectl delete service my-nginx
kubectl delete deployment my-nginx

สรุปเกร็ดน่ารู้สำหรับผู้เริ่มต้น

Pro Tip: Kubernetes บน Docker Desktop เป็นแบบ Single-node เหมาะสำหรับการพัฒนาและทดสอบระบบในเครื่อง (Local Development) ไม่แนะนำให้นำไปใช้บน Production จริง แต่โครงสร้างคำสั่ง kubectl ทั้งหมดสามารถนำไปใช้กับ Cloud Provider (เช่น GKE, EKS, AKS) ได้เหมือนกันทุกประการครับ

No comments:

Post a Comment