16
Jul
มารู้จักกับ Kubernetes คืออะไร ไว้ใช้ทำอะไรได้บ้าง
Comments
มารู้จักกับ Kubernetes คืออะไร ไว้ใช้ทำอะไรได้บ้าง
.
วันนี้เราจะมาทำความรู้จักกับเจ้า Kubernetes กันว่ามันดียังไง ทำไมคนถึงใช้กัน ซึ่งในบทความนี้จะอธิบายแบบสั้น ๆ ง่าย ๆ ไม่ยืดยาวจนน่าเบื่อ เรามาเริ่มกันเลยดีกว่า
.
Kubernetes หรือ K8s เป็น Open-source ที่ช่วยในการจัดการ Container (คอนเทนเนอร์) อย่าง Linux Containers และ Docker เป็นต้น ซึ่งพูดอย่างง่ายๆก็คือจะช่วยในการลดกระบวนการจัดสรรทรัพยากรให้เพิ่มหรือลดได้อย่างอัตโนมัติทั้งปริมาณงานและการบริการ และยังช่วยให้ Application ที่อยู่บน Container นั้นทำงานได้อย่างต่อเนื่องอีกด้วย
.
เป็นมายังไง
ในอดีตนั้นองค์กรจะรัน Application บน Physical servers ไม่มีการกำหนดขอบเขตของการใช้ทรัพยากร ทำให้เมื่อเรารัน Application หลายตัวบน Severs เดียวกัน อาจมีบาง Application ที่ใช้ทรัพยากรมากหรือก็คือจะใช้ทรัพยากรส่วนใหญ่ และนั้นทำให้ Application ไม่สามารถทำงานได้อย่างเต็มที วิธีแก้ปัญหานี้นั้นง่ายมากโดยการให้แต่ละ Application รันบน Physical server คนละตัวไปเลย ซึ่งผลที่ตามมาก็คือค่าใช้จ่ายที่สูงมากตามไปด้วย
.
ต่อมาก็เป็นช่วงของ Virtualized เจ้า Solution นี้จะมาช่วยสามารถรัน Virtual Machines (VMs) บน Physical Server เดียวได้และยังช่วยในการจำกัดเข้าถึงข้อมูลของ Application ทำให้ Application อื่นนั้นไม่สามารถเข้าถึงได้อีกด้วย ซึ่งก็จะช่วยลดต้นทุน Hardwareและยังทำใฟ้การเพิ่มหรืออัปเดต Application นั้นทำได้ง่ายมากขึ้น
.
และก็มาถึงในช่วงของ Containers ซึ่งก็คล้ายกับ VM แต่มีความพิเศษที่สามารถแชร์ระบบปฏิบัติการระหว่าง Application กันได้
.
.
แล้วจะเอา Kubernetes มาทำอะไร?
เอามาจัดการให้ Application ของคุณสามารถรันอยู่บน Container ได้อย่างไม่มีวันล่มไม่มีวันหยุดการทำงาน
.
– Kubernetes มี Service discovery และ Load balancing สามารถค้นหา Container โดยใช้ชื่อ DNS หรือใช้ที่อยู่ IP ของตนเอง และหากมีการรับส่งข้อมูลไปยัง Container มีสูง Kubernetes จะสามารถโหลดบาลานซ์และกระจายการรับส่งข้อมูลเครือข่ายเพื่อให้ deployment มีความเสถียร
– Kubernetes มี Storage orchestration สามารถติดตั้งระบบจัดเก็บข้อมูลที่เลือกได้โดยอัตโนมัติ เช่น ที่เก็บข้อมูลในเครื่อง ผู้ให้บริการ Cloud สาธารณะ เป็นต้น
– Kubernetes มี Automated rollouts และ rollbacks ทำให้สามารถอธิบายสถานะที่ต้องการสำหรับ Deployed container โดยใช้ Kubernetes และสามารถเปลี่ยน actual state เป็น desired state ในอัตราที่ควบคุมได้ อย่าง การทำให้ Kubernetes สามารถทำงานโดยอัตโนมัติเพื่อสร้าง Container ใหม่สำหรับการ Deployment รวมไปถึงการ ลบ Container ที่มีอยู่และนำทรัพยากรทั้งหมดไปใช้กับ Container ใหม่
– Kubernetes มี Automatic bin packing โดย Kubernetes จะสามารถบอกได้ว่าแต่ละ Container ต้องการ CPU และหน่วยความจำ (RAM) เท่าไหร่ Kubernetes สามารถติดตั้ง Container บน nodes เพื่อสามารถใช้ทรัพยากรให้เกิดประโยชน์สูงสุด
– Kubernetes สามารถที่จะ Self-healing โดย Kubernetes จะรีสตาร์ Container ที่ล่ม จัดการ Container ที่ไม่ตอบสนองต่อ user-defined health check
– Kubernetes มี Secret และ configuration management โดย Kubernetes ช่วยให้คุณจัดเก็บและจัดการข้อมูลที่ละเอียดอ่อน เช่น รหัสผ่าน, OAuth tokens และ SSH key ซึ่งจะสามารถปรับใช้และอัปเดตข้อมูลลับและการกำหนดค่า Application โดยไม่ต้องสร้าง Container images ใหม่ และไม่ต้องเปิดเผยความลับในการกำหนดค่า stack
.
.
Written by Lalina Kaeobanchong
.
.
.
.
.
ติดตาม content ดีๆแบบนี้ได้ทุกวันที่
Facebook: Monster Connect
Line: @monsterconnect
Website: monsterconnect.co.th
สั่งซื้อสินค้าเกี่ยวกับIT: mon.co.th
โทร: 02 026 6665
เรามีผู้เชี่ยวชาญที่พร้อมจะดูแลคุณ
.
.
.
.
.
Ref.
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
https://www.trueidc.com/th/article-detail/25/Kubernetes-คืออะไร-มีประโยชน์อย่างไร