ในโลกปัจจุบันนั้นถ้าเราจะ deploy application ในรูปแบบใหม่ที่เป็นแบบของ container กันส่วนมาก สมมุติว่าถ้าเรา deploy แบบปกติ start มันขึ้นมาก็คงจะไม่มีปัญหาอะไรมาก แล้วถ้าเราทำ application ให้ต้องมีหลายๆ container ล่ะ ถ้าเราต้องทำให้ application ถ้ามันดับไปเราจะให้มัน start ขึ้นมาใหม่ยังไง บางคนอาจจะบอกว่ามี docker restart policy อยู่ก็ทำได้  แต่ถ้าสมมุติว่าเรามีเครื่องหลายเครื่องล่ะ เราต้องสั่งทีละเครื่องที่เอามา run container มันก็คงจะไม่ใช่เรื่องเท่าไหร่ เราเลยมีเครื่องมีที่เอามาจัดการ container ในหลายๆเครื่อง โดยในครั้งนี้เราจะพูดถึงเรื่องของ kubernetes

Kubernetes คืออะไร ?
Kubernetes เปรียบได้เป็น container orchester ที่เชื่อมต่อแต่ละเครื่องเข้าด้วยกันเป็น cluster แล้วเชื่อมต่อเข้าด้วยกันผ่าน Network ตามรูปภาพประกอบด้านล่าง

Kubernetes นั้นจะเป็นการ Control ผ่านตัว Control Plane โดยที่จะมี API ในการควบคุมและสามารถควบคุมได้ผ่าน Command Line Client ก็ได้โดย Node ที่เป็น Master Node จะเป็นด่านหน้าในการรับการ control, monitor status ต่าง ๆ โดยจะมี Node ที่เข้ามาอยู่ภายใต้การควบคุมและนำเอา image มาสร้าง container เพื่อใช้งานต่อไป ส่วนการเข้าถึงนั้นจะเข้าถึงได้ทั้งรูปแบบของ Cluster IP, Nodeport และ Ingress

ข้อดีของการใช้งาน Kubernetes

  1. รองรับการทำ Auto Scale ของ Application หาก Application ทำมาเพื่อรองรับ
  2. รองรับการทำ Auto Start หาก Application นั้นเกิด Failed
  3. รองรับการทำ Load Balance ให้กับ Application
  4. ง่ายต่อการสร้าง deployment application ด้วย yaml file

Leave a Reply

Your email address will not be published. Required fields are marked *