Skip to main content

Introduction to Kubernetes

Kubernetes เป็นแพลตฟอร์มสำหรับการจัดการแอปพลิเคชันคอนเทนเนอร์ที่ช่วยให้สามารถปรับขยาย (scaling) และควบคุมแอปพลิเคชันได้อย่างมีประสิทธิภาพ โดย Kubernetes มักถูกใช้งานในระบบคลาวด์เพื่อช่วยให้องค์กรสามารถปรับตัวและตอบสนองต่อการเปลี่ยนแปลงได้อย่างรวดเร็ว

คุณสมบัติหลักของ Kubernetes​

  1. การจัดการคอนเทนเนอร์ (Container Orchestration) Kubernetes ช่วยจัดการวงจรชีวิตของคอนเทนเนอร์ รวมถึงการเริ่มต้น หยุดทำงาน และปรับขนาดคอนเทนเนอร์อัตโนมัติ

  2. การปรับขยายอัตโนมัติ (Auto-scaling) สามารถปรับขนาดทรัพยากรให้เหมาะสมกับการโหลดงานแบบอัตโนมัติ เช่น เพิ่มหรือลดจำนวนพ็อด (Pods) ตามความต้องการ

  3. ความพร้อมใช้งานสูง (High Availability) Kubernetes มีกลไกการทำงานที่ช่วยเพิ่มความพร้อมใช้งาน เช่น การจัดการสำรองข้อมูลและฟื้นฟูระบบ (self-healing)

  4. การใช้งานหลายคลัสเตอร์ (Multi-cluster Management) สามารถจัดการคลัสเตอร์ Kubernetes หลาย ๆ คลัสเตอร์ในเวลาเดียวกันได้

องค์ประกอบพื้นฐานของ Kubernetes​

  1. Node Node คือเครื่องคอมพิวเตอร์ที่ใช้รันคอนเทนเนอร์ โดยในระบบ Kubernetes จะมีทั้ง Master Node และ Worker Node

  2. Pod Pod เป็นหน่วยเล็กที่สุดใน Kubernetes ที่ใช้สำหรับรันคอนเทนเนอร์หนึ่งตัวหรือมากกว่าในกลุ่มเดียวกัน

  3. Service Service ใช้สำหรับการสื่อสารระหว่าง Pods และการเชื่อมต่อกับระบบภายนอก

  4. ConfigMap และ Secret ใช้สำหรับจัดการค่าคอนฟิกและข้อมูลลับที่จำเป็นสำหรับแอปพลิเคชัน

  5. Namespace ใช้สำหรับการแยกแอปพลิเคชันหรือกลุ่มทรัพยากรในคลัสเตอร์ออกจากกัน

การเริ่มต้นใช้งาน Kubernetes​

  1. ติดตั้งเครื่องมือ เช่น Minikube หรือ Kubernetes CLI (kubectl)
  2. สร้างคลัสเตอร์โดยใช้ Minikube หรือเชื่อมต่อกับคลัสเตอร์ที่มีอยู่แล้ว
  3. เขียนไฟล์การปรับแต่ง (YAML) เพื่อกำหนดค่าทรัพยากร เช่น Deployment, Service
  4. ใช้คำสั่ง kubectl เพื่อจัดการคลัสเตอร์ เช่น การ deploy แอปพลิเคชัน หรือการตรวจสอบสถานะของ Pods

คำสั่งพื้นฐาน​

  • kubectl get pods แสดงรายการ Pods ทั้งหมดในคลัสเตอร์
  • kubectl create -f <filename>.yaml สร้างทรัพยากรจากไฟล์ YAML
  • kubectl delete pod <pod-name> ลบ Pod ที่ระบุ
  • kubectl logs <pod-name> ดู log ของ Pod

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