Kubernetes คืออะไร มีประโยชน์อย่างไร
18 พ.ค. 2561 //= substr($strYear,2,2)?>
ช่วงนี้หลายๆ คนคงได้ยินชื่อ Kubernetes กันมาบ้างแล้ว และอาจสงสัยว่ามันคืออะไร มีส่วนเกี่ยวข้องกับ Container หรือ Docker อย่างไร บทความนี้เราจะมาปูพื้นเรื่อง Kubernetes และประโยชน์ที่จะได้รับกัน
Kubernetes หรือ k8s เป็นแพลตฟอร์มแบบ Open-source สำหรับช่วยให้การปฏิบัติงานต่างๆ ที่เกี่ยวข้องกับ Linux Container สามารถทำได้โดยอัตโนมัติ ลดกระบวนการติดตั้งหรือขยายแอปพลิเคชันที่รันบน Container ที่นักพัฒนาต้องลงมือทำด้วยตนเองให้เหลือน้อยที่สุด หรือกล่าวได้ว่า ช่วยให้นักพัฒนาสามารถทำคลัสเตอร์กลุ่มของโฮสต์ที่รัน Linux Container ได้ และ Kubernetes ก็เข้ามาช่วยบริหารจัดการคลัสเตอร์เหล่านั้นสำหรับใช้งานบน Public, Private และ Hybrid Cloud ได้อย่างสะดวกรวดเร็วและมีประสิทธิภาพ
Kubernetes ถูกพัฒนาและออกแบบโดยวิศวกรจาก Google ซึ่งเป็นนักพัฒนาทีมแรกๆ ที่เริ่มนำเทคโนโลยี Linux Container มาใช้ ก่อนหน้านี้ Google ใช้แพลตฟอร์ม Borg ในการบริหารจัดการกว่า 2,000 ล้าน Container ที่ถูกสร้างขึ้นในแต่ละสัปดาห์ ก่อนที่จะนำประสบการณ์ (และความเจ็บปวด) ที่ได้มาพัฒนาต่อยอดเป็น Kubernetes เพื่อบริหารจัดการระบบ Cloud ทั้งหมดในปัจจุบัน
สำหรับบริษัทที่นำเทคโนโลยี Container มาใช้งานแล้ว จะพบว่าแอปพลิเคชันบน Production มักมีการเชื่อมต่อหลายๆ Containers เข้าด้วยกัน ซึ่ง Containers เหล่านั้นมักถูกติดตั้งบนหลายๆ โฮสต์ Kubernetes จะเข้ามาช่วยประสานการทำงาน (Orchestration) และบริหารจัดการ Containers ทั้งการติดตั้งและการขยายระบบในอนาคต ส่งผลให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่เชื่อมต่อหลายๆ Containers เข้าด้วยกัน กำหนดการทำงานต่างๆ ขยายระบบ และตรวจสอบการทำงานทั้งหมดได้อย่างง่ายดาย ที่สำคัญคือสามารถดำเนินคำสั่งต่างๆ ได้โดยอัตโนมัติอีกด้วย
คุณสมบัติเด่นของ Kubernetes มีดังนี้
- ประสานการทำงานของ Containers ระหว่างแต่ละโฮสต์เข้าด้วยกัน
- ช่วยให้ใช้ทรัพยากรของฮาร์ดแวร์ในการรันแอปพลิเคชันได้อย่างมีประสิทธิภาพสูงสุด
- ควบคุมการติดตั้งและอัปเดตแอปพลิเคชันโดยอัตโนมัติ
- เพิ่ม Storage สำหรับรัน Stateful Apps ได้อย่างง่ายดาย
- ขยายแอปพลิเคชันที่รันบน Container และทรัพยากรต่างๆ ที่จำเป็นต้องใช้งานได้ตามต้องการ
- ช่วยการันตีว่าแอปพลิเคชันสามารถทำงานได้ตรงตามที่กำหนดไว้
- มีระบบ Health-check และ Self-heal รวมไปถึง Autoreplacement, Autorestart, Autoreplication และ Autoscaling
ผู้ที่สนใจศึกษา Kubernetes สามารถดูรายละเอียดเพิ่มเติม
ได้ที่: https://www.redhat.co