ทำความรู้จักกับ Kubernetes

19 มี.ค.

ทำความรู้จักกับ Kubernetes

Kubernetes เป็น open source สำหรับการรวบรวม, การจัดการโค้ดแบบออโต้เมติก มีการจัดสเกล จัดเตรียมเส้นทางของ container เพื่อให้มีการทำงานได้เร็วขึ้น ซึ่งโปรแกรมนี้เข้ามามีบทบาทอย่างมากในวงการ it ในช่วงไม่กี่ปีที่ผ่านมา ซึ่งมันถูกพัฒนาเป็นครั้งแรกจาก google และเปิดให้เป็น open source เมื่อปี 2014 และปัจจุบันถึงทำให้ขึ้น cloud ไปแล้ว และมีผู้พัฒนาโปรแกรม Kubernetes มากกว่าพันคนและมีการเปิดให้สอบ certificate ในการเป็น partner กับโปรแกรมนี้ด้วย

คุณสามารถสร้าง Kubernetes ได้บนจอ desktop ของตัวเอง

Docker desktop เป็นแอพลิเคชันที่ทำขึ้นใน macOS และระบบวินโดวส์ เพื่อการสร้างและแชร์ แอพลิเคชันที่เกี่ยวกับ container และ microservices ทั้งหลาย

การส่งผ่านด้วย docker desktop มีความรวดเร็วมาก, เป็นอีกทางเลือกหนึ่ง และช่วยในการออกแบบและจัดส่ง แอพลิเคชันในรูปแบบของ container ผ่านหน้าจอคอมพิวเตอร์ของคุณ Docker Desktop ประกอบไปด้วย iDocker App, developer tools, Kubernetes, and เครื่องมือด้านการซิงโครไนซ์ โค้ดขึ้นสู่โปรดักส์ชั่น Docker Desktop อนุญาตให้คุณแพคไฟล์รูปภาพหรือโค้ดดิ้งภาษาโปรแกรมหลายภาษาที่คุณต้องการลงในโปรแกรมนี้ 

ช่วยให้การดำเนินงานตาม workflow เกิดประสิทธิภาพสูง โดยการเก็บเข้าสู่ repository และสามารถนำมา build code, หรือการพัฒนาใหม่อีกครั้งและเพื่อการเก็บรวบรวมโค้ดที่ปลอดภัยยิ่งขึ้น

ทำไมเราต้องใช้ Kubernetes

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

Kubernetes จัดหา framework ขึ้นพื้นฐานเพื่อรันระบบที่แตกต่างกันในแต่ละนักพัฒนา, รวมถึงในรูปแบบของ infrastructure จาก development สู่ production ในทุกโปรเจ็คการทำงาน Kubernetes สามารถจัดการเรื่องสเกลที่ต้องการ, รูปแบบของการ deploy โค้ดขึ้นโปรดักชัน และอื่นๆ อีกมากมาย

ความสามารรถที่ครอบคลุมของมัน สามารถอธิบายได้ดังนี้คือ ให้บริการเรื่องการควบคุม process การทำงาน,เรื่องการคืนค่า service และเรื่องของ load balance, เรื่องการเก็บรวบรวมโค้ด, การจัดการกับรูปแบบของ container, การ deploy และการ rollback แบบอัตโนมัติ

ข้อดีของ kubernetes คือ Kubernetes มีความสามารถสูง ในการทำงานเป็นทีมที่ต้องการรวมโค้ดเพื่อ deploy โค้ดขึ้นโปรดักชันจำเป็นต้องมีคนรวบรวมโดยใช้โปรแกรมนี้ในการจัดการ ซึ่งความรู้เรื่องการ deploy production บางครั้งเราไม่จำเป็นต้อง coding ขึ้นมาใหม่ เพราะว่าความสามารถของโปรแกรมนี้มันจะช่วยท่านได้อยู่แล้ว

มันมีการทำงานในรูปแบบของ cluster ทำให้มีการทำงานที่รวดเร็วใช้งานกับ หน่วยงานที่หลากหลายได้ มีระบบจัดการที่เกี่ยวกับการจัดเก็บบน cloud ที่เรียกว่า Container Networking Interface (CNI) and Container Storage Interface (CSI) ที่เรามอนิเตอร์ผ่านโปรแกรมได้