Kubernetes เป็นโครงการที่ยอดเยี่ยม ทุกคนรู้จักโดยเฉพาะอย่างยิ่งสำหรับการปรับใช้และการจัดการแอปแบบคอนเทนเนอร์ และ Markus Eisele หัวหน้าการรับใช้ EMEA Developer ของ Red Hat มีรายละเอียดที่สำคัญบางอย่างสำหรับทุกคนที่สนใจเรียนรู้เกี่ยวกับเรื่องนี้
และนั่นก็คือการพัฒนาธุรกิจเป็นความท้าทายที่ยิ่งใหญ่อย่างหนึ่งของวิศวกรรมคอมพิวเตอร์และโดยเฉพาะอย่างยิ่ง บริษัท ต่างๆเช่น Red Hat. นั่นคือเหตุผลที่ในทศวรรษที่ผ่านมาเราได้เปลี่ยนจากสถาปัตยกรรม 3 ชั้นแบบคลาสสิกไปเป็นสถาปัตยกรรมใหม่ที่มีไมโครเซอร์วิสกระจายสูงเพื่อให้ได้ทรัพยากรโครงสร้างพื้นฐานที่ไม่ จำกัด สำหรับผู้ให้บริการคลาวด์สาธารณะ นอกจากนี้ไมโครเซอร์วิสเหล่านี้ยังมีความเชี่ยวชาญในงานที่เฉพาะเจาะจงและเรียบง่ายมากเมื่อเทียบกับเซิร์ฟเวอร์แอพหนัก ๆ ที่ล้าสมัย
เหล่านี้ ไมโครเซอร์วิส แสดงถึงประสิทธิภาพที่ดีขึ้นในแง่ของการใช้ทรัพยากรซึ่งเป็นข้อดีอีกประการหนึ่ง นอกจากนี้ยังเป็นวิธีที่ดีที่สุดวิธีหนึ่งในการปรับใช้แอปเหล่านี้ผ่านคอนเทนเนอร์เช่นเดียวกับ เครื่องเสมือนขนาดเล็ก ได้รับการรักษา แม้ว่าความแตกต่างหลักระหว่าง VM และคอนเทนเนอร์คือระบบแรกไม่มีระบบปฏิบัติการ แต่จะทำงานในพื้นที่ผู้ใช้ของเคอร์เนลระบบปฏิบัติการโฮสต์แทนราวกับว่าเป็นแอป นอกจากนี้ยังหมายถึงความปลอดภัยที่มากขึ้น
แต่ไม่ใช่ทุกอย่างที่จะเป็นข้อดีเนื่องจากสถาปัตยกรรมนี้ต้องใช้คอนเทนเนอร์จำนวนมาก (หนึ่งต่อหนึ่งบริการหรือมากกว่านั้น) ซึ่งหมายความว่าวิธีการจัดการและประสานงานอาจซับซ้อนและแสดงถึงความพยายามที่มากขึ้นสำหรับผู้ดูแลระบบ นี่คือที่ Kubernetes เข้าสู่ที่เกิดเหตุ และทำให้ทุกอย่างง่ายขึ้น
การตั้งค่าสภาพแวดล้อมดั้งเดิมใน Kubernetes
Kubernetes ทำให้ชีวิตง่ายขึ้นสำหรับผู้ดูแลระบบช่วยให้สามารถจัดการแอปและบริการอัตโนมัติได้มากขึ้น เมื่อมองหาการเปรียบเทียบก็จะเหมือนกับผู้มีอำนาจในท่าเรือบนท่าเทียบเรือซึ่งทำให้เรือสามารถเคลื่อนที่ไปพร้อม ๆ กันภายในอวกาศได้ กล่าวอีกนัยหนึ่งในตอนแรกความสามารถของ Kubernetes สามารถเปรียบเทียบได้กับ Java EE เนื่องจากทั้งสองเรียกใช้แอปบนฮาร์ดแวร์จริงแบบกระจาย อย่างไรก็ตามคอนเทนเนอร์ไม่ค่อยใส่ใจกับข้อกำหนดของแอป
ด้วย Kubernetes คุณสามารถกำหนดค่าคลัสเตอร์ได้โดยเขียนไฟล์การกำหนดค่าไปที่ รูปแบบข้อความ (ส่วนใหญ่เป็น YAML แม้ว่าจะรองรับ JSON ด้วย). ภายในจะเป็นพารามิเตอร์หรือข้อกำหนดของแต่ละออบเจ็กต์ที่กำหนดไว้สำหรับการจัดการ
ฮาร์ดแวร์สำหรับการกำหนดค่า Kubernetes ในเครื่อง
เพื่อที่จะใช้ประโยชน์จากไฟล์ ความยืดหยุ่นและความน่าเชื่อถือสูง ซึ่งจัดทำโดยคลัสเตอร์ Kubernetes นักพัฒนาและผู้ดูแลระบบต้องดูแลเพื่อให้คอนเทนเนอร์มีทรัพยากรเพียงพอที่จะเรียกใช้
หากสันนิษฐานว่าคลัสเตอร์มีโหนดหลักสองโหนดที่มี RAM 2 GB, 4 คอร์และโหนดผู้ปฏิบัติงาน 2 โหนดพร้อม RAM 1 GB และ 2 คอร์ คลัสเตอร์ Kubernetes คุณจะต้องมี RAM 6 GB และ 12 คอร์เป็นอย่างต่ำ ทรัพยากรบางอย่างที่คอมพิวเตอร์เดสก์ท็อปบางเครื่องไม่สามารถจัดหาได้แม้ว่าจะเป็นความจริงที่ว่าโครงการนี้ไม่ได้มีไว้สำหรับเดสก์ท็อปก็ตาม
อย่างไรก็ตามปัจจุบันมีจำนวน สภาพแวดล้อมการเรียนรู้ที่เล็กลง ที่ช่วยให้นักพัฒนาสามารถพัฒนาด้วย Kubernetes ในสภาพแวดล้อมท้องถิ่น ตัวอย่างเช่น MiniKube, MicroK8s, OpenShift CodeReady Cointainers เป็นต้น ทั้งหมดรวมกันเป็น 1 โหนดเดียวเพื่อให้สามารถมีได้ในเดสก์ท็อปพีซีและสามารถติดตั้งได้ภายในไม่กี่นาที
เพื่อทดสอบไฟล์ บริการสภาพแวดล้อมที่ซับซ้อนมากขึ้นโดยปกติคุณจะต้องไปที่คลัสเตอร์ Kubernetes ที่แท้จริง แต่เครื่องมือ โค้ดพร้อมคอนเทนเนอร์ มันสามารถทำให้ชีวิตของนักพัฒนาง่ายขึ้นมากรวมถึงชุดเครื่องมือทั้งหมดและการติดตั้งโหนดเดียวของคลัสเตอร์ Kubernetes
การรับเลี้ยงบุตรบุญธรรมใน Kubernetes เป็นโลกที่แตกต่างออกไป
Kubernetes ได้เข้ามาเปลี่ยนประสบการณ์ทั้งหมดของนักพัฒนาซึ่งจะเห็นว่าวิธีการจัดการบริการเหล่านี้แตกต่างกันโดยสิ้นเชิงและรวมเข้าด้วยกัน ด้วยเหตุนี้การยอมรับ Kubernetes จึงกลายเป็น ขั้นตอนตรรกะถัดไป ไปสู่การทำให้ง่ายขึ้นสำหรับนักพัฒนา
ในทำนองเดียวกัน Kubernetes จะเปิดใช้งาน มีความยืดหยุ่นมากขึ้นด้วยความช่วยเหลือและเครื่องมือสำหรับการพัฒนา Kubernetes ที่มีประสิทธิผลและความท้าทายใหม่ ๆ ที่น่าตื่นเต้น ...