ert-logo

ทำความรู้จัก Kubernetes คืออะไร มีประโยชน์อย่างไร ?

Kubernetes คืออะไร

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

 

Kubernetes คืออะไร ?

Kubernetes (K8s) คือ Open Source Orchestration Tool ที่ออกแบบมาเพื่อทำให้การปรับใช้ การปรับขนาด และการจัดการแอปพลิเคชัน Container เป็นไปโดยอัตโนมัติ Kubernetes ถูกพัฒนาโดย Google และได้บริจาคให้กับ Cloud Native Computing Foundation (CNCF) ในเวลาต่อมา Kubernetes มอบ Framework ที่มีประสิทธิภาพสำหรับการจัดการทรัพยากรของโครงสร้างพื้นฐานที่ซับซ้อนและยังช่วยให้แอปพลิเคชันสามารถทำงานบน Container ได้ตลอดเวลาอีกด้วย

 

Kubernetes คืออะไร

โครงสร้างของ Kubernetes

รู้กันไปแล้วว่า Kubernetes คืออะไร โครงสร้างของ Kubernetes ประกอบไปด้วย Master Node และ Worker Nodes ตัว Master Node จะจัดการการทำงานของ Cluster ทั้งหมด ในขณะที่ Worker Nodes จะทำหน้าที่ Run Container

 

Kubernetes คืออะไร

ส่วนประกอบของ Master Node

1. API Server

  • เป็นจุดเริ่มต้นของการติดต่อกับ Cluster ทั้งหมด โดยจะทำหน้าที่คอยตรวจสอบและประมวลผลคำขอของ API

2. Etcd

  • ระบบ Distributed Key Value Store ทำหน้าที่เก็บรักษาข้อมูลต่างๆที่ใช้ในการบริหารจัดการ Cluster ทั้งหมด

3. Scheduler

  • ทำหน้าที่กำหนด Pod ที่จะไปอยู่ใน Node เพื่อหา Node ที่มีประสิทธิภาพและความพร้อมใช้งานกับ Pod มากที่สุด

4. Controller Manager

  • ทำหน้าที่ตรวจสอบสถานะของ Cluster โดยจะจัดการการทำงานต่างๆ เช่น การจำลอง Pod เป็นต้น

 

ส่วนประกอบของ Worker Node

1. Kubelet

  • เป็นสื่อกลางที่คอยติดต่อระหว่าง Master Node และ Worker Node โดยจะทำหน้าที่จัดการสถานะของ Node แต่ละตัวภายใน Cluster และตรวจสอบให้แน่ใจว่า Container ที่ทำงานบนในแต่ละ Node สามารถทำงานได้อย่างถูกต้อง 

2. Kube Proxy

  • ทำหน้าที่ดูแลเครือข่ายการสื่อสารระหว่างบริการภายใน Cluster เพื่อให้บริการต่างๆสามารถเข้าถึงกันได้แม้จะมีการปรับใช้บน Node ที่แตกต่างกันก็ตาม 

3. Container Runtime

  • ทำหน้าที่รับผิดชอบการจัดการกับทรัพยากรที่จำเป็นสำหรับ Containers บน Pod นอกจากนี้ยังช่วยจัดการเรื่องเครือข่าย การจัดเก็บข้อมูลและด้านอื่นๆที่ช่วยให้ Containers สามารถทำงานได้ดียิ่งขึ้น โดย Container Runtime ที่พบได้บ่อยมี Docker, Container, rkt และอื่น ๆ 

4. Pod

  • หน่วยที่มีความสามารถในการประมวลผลที่เล็กที่สุดใน Kubernetes โดยภายใน Pod จะประกอบไปด้วย Container และทรัพยากรของ Container เช่น IP Address  และ Storage เป็นต้น 

5. ReplicaSets and Deployments

  • ReplicaSets ทำหน้าที่กำหนดจำนวนของ Pod ที่ต้องการให้มีการทำงาน ส่วนเจ้าตัว Deployments จะทำหน้าที่เป็นตัวกำหนดว่าต้องการ ReplicaSet กี่ชุด และในแต่ละ pods ต้องมีอะไรอยู่ข้างในบ้าง 

6. Services and Networking

  • ทำหน้าที่กระจาย Load Balance ไปยัง Pod เพื่อให้มั่นใจได้ว่าแอปพลิเคชันจะยังคงสามารถเข้าถึงได้แม้ว่า Pod จะถูกสร้างใหม่หรือย้ายออกไปก็ตาม และในส่วนของ Networking จะเกี่ยวข้องกับการจัดการการสื่อสารระหว่าง Pod, Service และทรัพยากรเครือข่ายอื่นๆภายใน Cluster โดย Kubernetes จะใช้ Flat Network Model ซึ่ง Pod แต่ละอันจะได้รับที่อยู่ IP ของตัวเองและสามารถสื่อสารโดยตรงกับ Pod อื่น ๆ ได้เลย

 

ประโยชน์ของ Kubernetes

1. Scalability

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

2. High Availability

  • Kubernetes รองรับการ Load Balance โดยอัตโนมัติ ทำให้แอปพลิเคชันจะยังคงใช้งานได้แม้ว่า Node หรือ Container บางตัวจะล้มเหลวก็ตาม

3. Container Orchestration

  • Kubernetes มีความเชี่ยวชาญในการจัดการและควบคุมแอปพลิเคชันในรูปแบบของ Container ทำให้การปรับใช้ การปรับขนาด และการจัดการบริการของ Container สามารถเป็นไปได้โดยอัตโนมัติ

4. Ecosystem and Community

  • Kubernetes มีเครื่องมือและปลั๊กอินมากมายที่ช่วยปรับปรุงฟังก์ชันการทำงาน รวมถึงมีชุมชนขนาดใหญ่ (Community) ที่คอยช่วยกันพัฒนาและสนับสนุนอย่างต่อเนื่อง

 

______________________________________________________________________________ 

Ref: cloud.google.com

 

💬 🙋‍♀ สอบถามเพิ่มเติมสามารถติดต่อมาได้ที่

📞 Tel: 02-718-1599

💻 Website: https://www.ert.co.th/

📱 Line: https://lin.ee/wtyQVtl



Leave a Reply

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

The Enterprise Resources Training Co.,Ltd. 2922/135-136, 3rd Fl. Room 331-332, Charn Issara Tower II, New Petchburi Road, Bangkapi, Huaykwang, Bangkok 10320
PRIVACY & COOKIES

© 2024 · The Enterprise Resources Training Co.,Ltd

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save