ภาพรวมของ GUI สำหรับ Kubernetes

ภาพรวมของ GUI สำหรับ Kubernetes

สำหรับการทำงานกับระบบอย่างเต็มรูปแบบ ความรู้เกี่ยวกับยูทิลิตีบรรทัดคำสั่งเป็นสิ่งสำคัญ ในกรณีของ Kubernetes นี่คือ kubectl ในทางกลับกัน อินเทอร์เฟซแบบกราฟิกที่ออกแบบมาอย่างดีและคิดมาอย่างดีก็สามารถทำงานได้оงานปกติส่วนใหญ่และเปิดโอกาสเพิ่มเติมสำหรับการทำงานของระบบ

ปีที่แล้วเราได้ตีพิมพ์การแปล ภาพรวมขนาดเล็กของ UI เว็บ สำหรับ Kubernetes กำหนดเวลาให้ตรงกับการประกาศอินเทอร์เฟซทางเว็บ Kubernetes WebView. ผู้เขียนบทความดังกล่าวและยูทิลิตี้เอง Henning Jacobs จาก Zalando เพิ่งวางตำแหน่งผลิตภัณฑ์ใหม่เป็น "kubectl สำหรับเว็บ" เขาต้องการสร้างเครื่องมือที่มีความสามารถที่เป็นมิตรต่อผู้ใช้สำหรับการโต้ตอบในรูปแบบการสนับสนุนทางเทคนิค (เช่น การแสดงปัญหาอย่างรวดเร็วด้วยเว็บลิงก์) และสำหรับการตอบสนองต่อเหตุการณ์ การค้นหาปัญหาในหลายคลัสเตอร์ในเวลาเดียวกัน ลูกหลานของเขากำลังพัฒนาในปัจจุบัน (ส่วนใหญ่มาจากความพยายามของผู้เขียนเอง)

เนื่องจากเราให้บริการคลัสเตอร์ Kubernetes จำนวนมากในขนาดต่างๆ เราจึงสนใจที่จะให้บริการเครื่องมือภาพแก่ลูกค้าของเรา เมื่อเลือกอินเทอร์เฟซที่เหมาะสม คุณลักษณะต่อไปนี้เป็นกุญแจสำคัญสำหรับเรา:

  • รองรับความแตกต่างของสิทธิ์ผู้ใช้ (RBAC);
  • การสร้างภาพของสถานะเนมสเปซและ Kubernetes ดั้งเดิม (การปรับใช้, StatefulSet, บริการ, Cronjob, งาน, Ingress, ConfigMap, Secret, PVC);
  • การเข้าถึงบรรทัดคำสั่งภายในพ็อด
  • การดูบันทึกของพ็อด
  • ดูสถานะของพ็อด (describe status);
  • การถอดฝัก

ฟังก์ชันอื่นๆ เช่น การดูทรัพยากรที่ใช้ไป (ในบริบทของพ็อด / ตัวควบคุม / เนมสเปซ) การสร้าง / แก้ไขแบบดั้งเดิมของ K8s จะไม่เกี่ยวข้องกับเวิร์กโฟลว์ของเรา

เราจะเริ่มการตรวจสอบด้วย Kubernetes Dashboard แบบคลาสสิกซึ่งเป็นมาตรฐานของเรา เนื่องจากโลกไม่หยุดนิ่ง (ซึ่งหมายความว่า Kubernetes มี GUI ใหม่มากขึ้นเรื่อยๆ) เราจะพูดถึงทางเลือกในปัจจุบันโดยสรุปทุกอย่างไว้ในตารางเปรียบเทียบที่ท้ายบทความ

NB: ในการตรวจสอบ เราจะไม่ทำซ้ำกับโซลูชันเหล่านั้นที่ได้รับการพิจารณาแล้ว บทความล่าสุดอย่างไรก็ตาม เพื่อความสมบูรณ์ ตัวเลือกที่เกี่ยวข้องจากมัน (K8Dash, Octant, Kubernetes Web View) จะรวมอยู่ในตารางสุดท้าย

1. แดชบอร์ด Kubernetes

  • หน้าเอกสาร;
  • ที่เก็บ (8000+ ดาว GitHub);
  • ใบอนุญาต: อาปาเช่ 2.0;
  • กล่าวโดยย่อ: “อินเทอร์เฟซเว็บสากลสำหรับคลัสเตอร์ Kubernetes ช่วยให้ผู้ใช้สามารถจัดการและแก้ไขปัญหาแอปพลิเคชันที่ทำงานในคลัสเตอร์ ตลอดจนจัดการคลัสเตอร์เอง”

ภาพรวมของ GUI สำหรับ Kubernetes

นี่คือแผงควบคุมวัตถุประสงค์ทั่วไปที่ผู้เขียน Kubernetes กล่าวถึงในเอกสารอย่างเป็นทางการ (แต่ ไม่สามารถปรับใช้ได้ ค่าเริ่มต้น). ได้รับการออกแบบมาเพื่อตอบสนองความต้องการในการใช้งานประจำวันและการดีบักแอปพลิเคชันในคลัสเตอร์ ที่บ้าน เราใช้เป็นเครื่องมือแสดงภาพที่มีน้ำหนักเบาเต็มรูปแบบ ซึ่งช่วยให้นักพัฒนาสามารถเข้าถึงคลัสเตอร์ที่จำเป็นและเพียงพอได้ ความสามารถครอบคลุมความต้องการทั้งหมดที่เกิดขึ้นในกระบวนการใช้คลัสเตอร์ (ใน บทความนี้ เราแสดงคุณสมบัติบางอย่างของพาเนล). อย่างที่คุณอาจเดาได้ หมายความว่าอุปกรณ์นี้เป็นไปตามข้อกำหนดทั้งหมดของเราที่ระบุไว้ข้างต้น

ในบรรดาคุณสมบัติหลักของ Kubernetes Dashboard:

  • การนำทาง: ดูวัตถุหลักของ K8s ในบริบทของเนมสเปซ
  • หากคุณมีสิทธิ์ของผู้ดูแลระบบ แผงจะแสดงโหนด เนมสเปซ และ Persistent Volumes สำหรับโหนด จะมีสถิติเกี่ยวกับการใช้หน่วยความจำ โปรเซสเซอร์ การจัดสรรทรัพยากร เมตริก สถานะ เหตุการณ์ ฯลฯ
  • ดูแอปพลิเคชันที่ใช้งานในเนมสเปซตามประเภทของแอปพลิเคชัน (การปรับใช้ StatefulSet ฯลฯ) ความสัมพันธ์ระหว่างแอปพลิเคชันเหล่านั้น (ReplicaSet, Horizontal Pod Autoscaler) สถิติและข้อมูลทั่วไปและส่วนบุคคล
  • ดูบริการและข้อมูลขาเข้า ตลอดจนความสัมพันธ์กับพ็อดและจุดสิ้นสุด
  • ดูวัตถุไฟล์และพื้นที่เก็บข้อมูล: Persistent Volume และ Persistent Volume Claim
  • ดูและแก้ไข ConfigMap และ Secret
  • ดูบันทึก
  • การเข้าถึงบรรทัดคำสั่งในคอนเทนเนอร์

ข้อเสียเปรียบที่สำคัญ (แต่ไม่ใช่สำหรับเรา) คือไม่มีการสนับสนุนสำหรับการทำงานแบบหลายคลัสเตอร์ โครงการได้รับการพัฒนาอย่างแข็งขันโดยชุมชนและรักษาคุณสมบัติที่เกี่ยวข้องด้วยการเปิดตัวเวอร์ชันใหม่และข้อมูลจำเพาะของ Kubernetes API: แผงควบคุมเวอร์ชันล่าสุดคือ v2.0.1 22 พฤษภาคม 2020 - ทดสอบความเข้ากันได้กับ Kubernetes 1.18

2 เลนส์

ภาพรวมของ GUI สำหรับ Kubernetes

โครงการนี้อยู่ในตำแหน่งสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) ที่สมบูรณ์สำหรับ Kubernetes นอกจากนี้ยังได้รับการปรับให้เหมาะสมสำหรับการทำงานกับคลัสเตอร์จำนวนมากและพ็อดจำนวนมากที่ทำงานอยู่ในนั้น (ทดสอบกับพ็อด 25 พ็อด)

คุณสมบัติ/ความสามารถหลักของเลนส์:

  • แอปพลิเคชันแบบสแตนด์อโลนที่ไม่ต้องการการติดตั้งสิ่งใดภายในคลัสเตอร์ (ให้แม่นยำยิ่งขึ้น จำเป็นต้องใช้ Prometheus เพื่อรับเมตริกทั้งหมด แต่การติดตั้งที่มีอยู่ก็สามารถใช้ได้เช่นกัน) การติดตั้ง "หลัก" ทำบนคอมพิวเตอร์ส่วนบุคคลที่ใช้ Linux, macOS หรือ Windows
  • การจัดการหลายคลัสเตอร์ (รองรับหลายร้อยคลัสเตอร์)
  • การแสดงสถานะของคลัสเตอร์แบบเรียลไทม์
  • กราฟและแนวโน้มการใช้ทรัพยากรพร้อมประวัติตาม Prometheus ในตัว
  • เข้าถึงบรรทัดคำสั่งของคอนเทนเนอร์และโหนดคลัสเตอร์
  • รองรับ Kubernetes RBAC อย่างเต็มรูปแบบ

รุ่นปัจจุบัน - 3.5.0 วันที่ 16 มิถุนายน 2020 สร้างสรรค์โดย Kontena ปัจจุบันทรัพย์สินทางปัญญาทั้งหมดได้ถูกโอนไปยังองค์กรพิเศษ เลคเอนด์แล็บส์ซึ่งเรียกว่า "การรวมตัวกันของนักเทคโนโลยีและนักเทคโนโลยีบนระบบคลาวด์" ซึ่งมีหน้าที่รับผิดชอบใน "การเก็บรักษาและความพร้อมใช้งานของซอฟต์แวร์และผลิตภัณฑ์โอเพ่นซอร์สของ Kontena"

Lens เป็นโปรเจ็กต์ยอดนิยมอันดับสองบน GitHub จากหมวดหมู่ GUI สำหรับ Kubernetes โดย "แพ้" เฉพาะ Kubernets Dashboard เท่านั้น โซลูชันโอเพ่นซอร์สอื่นๆ ทั้งหมดที่ไม่ได้มาจากหมวดหมู่ CLI* นั้นได้รับความนิยมน้อยกว่าอย่างมาก

* ดูเกี่ยวกับ K9s ในส่วนโบนัสของบทวิจารณ์

3. คูเบอร์เนติกส์

ภาพรวมของ GUI สำหรับ Kubernetes

นี่เป็นแอปพลิเคชันกรรมสิทธิ์ที่ติดตั้งบนคอมพิวเตอร์ส่วนบุคคล (รองรับ Linux, macOS, Windows) ผู้เขียนสัญญาว่าจะเปลี่ยนยูทิลิตีบรรทัดคำสั่งโดยสมบูรณ์และด้วย - ไม่จำเป็นต้องจำคำสั่งและเพิ่มความเร็วเป็นสิบเท่า

หนึ่งในคุณสมบัติที่น่าสนใจของเครื่องมือนี้คือการสนับสนุนในตัวสำหรับแผนภูมิ Helm และหนึ่งในข้อเสียคือการขาดเมตริกประสิทธิภาพของแอปพลิเคชัน

คุณสมบัติหลักของ Kubernetic:

  • แสดงสถานะคลัสเตอร์ได้สะดวก หน้าจอเดียวเพื่อดูวัตถุคลัสเตอร์ที่เกี่ยวข้องทั้งหมดและการขึ้นต่อกัน สถานะความพร้อมสีแดง/เขียวสำหรับวัตถุทั้งหมด โหมดดูสถานะคลัสเตอร์พร้อมการอัปเดตสถานะตามเวลาจริง
  • ปุ่มดำเนินการด่วนสำหรับการลบและปรับขนาดแอปพลิเคชัน
  • รองรับการทำงานแบบหลายคลัสเตอร์
  • ทำงานง่ายๆ ด้วยเนมสเปซ
  • รองรับแผนภูมิ Helm และที่เก็บ Helm (รวมถึงแผนภูมิส่วนตัว) การติดตั้งและจัดการแผนภูมิในเว็บอินเตอร์เฟส

ต้นทุนปัจจุบันของผลิตภัณฑ์คือการชำระเงินครั้งเดียว 30 ยูโรสำหรับการใช้งานโดยบุคคลหนึ่งคนสำหรับเนมสเปซและคลัสเตอร์จำนวนเท่าใดก็ได้

4. ดื้อรั้น

  • เว็บไซต์;
  • การเสนอ;
  • ที่เก็บ (ประมาณ 500 ดาว GitHub);
  • ใบอนุญาต: Apache 2.0
  • กล่าวโดยย่อ: "Kubevious ทำให้ Kubernetes คลัสเตอร์ การกำหนดค่าแอปพลิเคชัน และการดูสถานะปลอดภัยและเข้าใจง่าย"

ภาพรวมของ GUI สำหรับ Kubernetes

แนวคิดของโครงการคือการสร้างเครื่องมือที่ออกแบบมาเพื่อวิเคราะห์และดีบักการกำหนดค่าแอปพลิเคชันที่ใช้งานในคลัสเตอร์ ผู้เขียนมุ่งเน้นไปที่การนำคุณลักษณะเหล่านี้ไปใช้เป็นหลัก โดยทิ้งเรื่องทั่วไปไว้ในภายหลัง

คุณสมบัติและฟังก์ชั่นที่สำคัญของ Kubevious:

  • การแสดงภาพคลัสเตอร์ในลักษณะที่เน้นแอปพลิเคชันเป็นศูนย์กลาง: วัตถุที่เกี่ยวข้องในอินเทอร์เฟซจะถูกจัดกลุ่ม เรียงตามลำดับชั้น
  • การแสดงภาพของการอ้างอิงในการกำหนดค่าและผลลัพธ์ที่ตามมาของการเปลี่ยนแปลง
  • การแสดงข้อผิดพลาดในการกำหนดค่าคลัสเตอร์: การใช้ป้ายกำกับในทางที่ผิด ขาดพอร์ต ฯลฯ (อย่างไรก็ตาม หากคุณสนใจคุณลักษณะนี้ โปรดให้ความสนใจกับ นักษัตรเนมีเกี่ยวกับที่เรา เขียนแล้ว.)
  • นอกเหนือจากข้อก่อนหน้าแล้ว ยังมีการตรวจจับภาชนะที่อาจเป็นอันตราย เช่น มีสิทธิ์มากเกินไป (attributes hostPID, hostNetwork, hostIPCเมาท์ docker.sock ฯลฯ).
  • ระบบการค้นหาขั้นสูงสำหรับคลัสเตอร์ (ไม่เพียงแค่ชื่อของออบเจกต์เท่านั้น แต่ยังรวมถึงคุณสมบัติด้วย)
  • เครื่องมือสำหรับการวางแผนกำลังการผลิตและการเพิ่มประสิทธิภาพทรัพยากร
  • "ไทม์แมชชีน" ในตัว (ความสามารถในการดูการเปลี่ยนแปลงก่อนหน้าในการกำหนดค่าของวัตถุ)
  • การจัดการ RBAC ด้วยตาราง Pivot ที่สัมพันธ์กันของ Roles, RoleBindings, ServiceAccounts
  • ใช้งานได้กับคลัสเตอร์เดียวเท่านั้น

โครงการนี้มีประวัติที่สั้นมาก (การเปิดตัวครั้งแรกเกิดขึ้นในวันที่ 11 กุมภาพันธ์ 2020) และดูเหมือนว่าจะมีช่วงหนึ่งของความเสถียรหรือการพัฒนาที่ช้าลง หากเวอร์ชันก่อนหน้านี้ออกบ่อย เวอร์ชันล่าสุด (v0.5 15 เมษายน 2020) ล่าช้ากว่าก้าวเริ่มต้นของการพัฒนา อาจเป็นเพราะผู้ร่วมให้ข้อมูลจำนวนน้อย: มีเพียง 4 คนในประวัติของที่เก็บและงานจริงทั้งหมดทำโดยคนคนเดียว

5. คิวบีไวส์

  • หน้าโครงการ;
  • ใบอนุญาต: กรรมสิทธิ์ (จะกลายเป็นโอเพ่นซอร์ส);
  • กล่าวโดยย่อ: "ไคลเอนต์หลายแพลตฟอร์มอย่างง่ายสำหรับ Kubernetes"

ภาพรวมของ GUI สำหรับ Kubernetes

ผลิตภัณฑ์ใหม่จาก VMware ซึ่งแต่เดิมสร้างขึ้นโดยเป็นส่วนหนึ่งของงาน Hackathon ภายใน (ในเดือนมิถุนายน 2019) ติดตั้งบนคอมพิวเตอร์ส่วนบุคคลทำงานบนพื้นฐานของ อิเล็กตรอน (รองรับ Linux, macOS และ Windows) และต้องใช้ kubectl v1.14.0 หรือใหม่กว่า

คุณสมบัติหลักของ Kubewise:

  • การโต้ตอบกับอินเทอร์เฟซกับเอนทิตี Kubernetes ที่ใช้บ่อยที่สุด: โหนด เนมสเปซ ฯลฯ
  • รองรับไฟล์ kubeconfig หลายไฟล์สำหรับคลัสเตอร์ต่างๆ
  • เทอร์มินัลที่มีความสามารถในการตั้งค่าตัวแปรสภาพแวดล้อม KUBECONFIG.
  • สร้างไฟล์ kubeconfig แบบกำหนดเองสำหรับเนมสเปซที่กำหนด
  • คุณสมบัติความปลอดภัยขั้นสูง (RBAC, รหัสผ่าน, บัญชีบริการ)

จนถึงตอนนี้ โครงการมีเพียงรุ่นเดียว - เวอร์ชัน 1.1.0 ลงวันที่ 26 พฤศจิกายน 2019 ยิ่งไปกว่านั้น ผู้เขียนวางแผนที่จะปล่อยมันเป็นโอเพ่นซอร์สทันที แต่เนื่องจากปัญหาภายใน (ไม่เกี่ยวข้องกับปัญหาทางเทคนิค) พวกเขาจึงไม่สามารถทำได้ ในเดือนพฤษภาคม 2020 ผู้เขียนกำลังทำงานในรุ่นถัดไปและควรเริ่มกระบวนการเปิดรหัสพร้อมกัน

6. คอนโซล OpenShift

ภาพรวมของ GUI สำหรับ Kubernetes

แม้ว่าเว็บอินเตอร์เฟสนี้เป็นส่วนหนึ่งของการกระจาย OpenShift (มีการติดตั้งโดยใช้ ตัวดำเนินการพิเศษ) ผู้เขียน คาดการณ์ล่วงหน้า ความสามารถในการติดตั้ง / ใช้งานในการติดตั้ง Kubernetes ปกติ (วานิลลา)

OpenShift Console ได้รับการพัฒนามาเป็นเวลานาน ดังนั้นจึงได้รวมคุณสมบัติต่างๆ ไว้มากมาย เราจะพูดถึงหลัก:

  • แนวทางอินเทอร์เฟซที่ใช้ร่วมกัน - สอง "มุมมอง" ของความเป็นไปได้ที่มีอยู่ใน Console: สำหรับผู้ดูแลระบบและสำหรับนักพัฒนา โหมด มุมมองของนักพัฒนา จัดกลุ่มออบเจกต์ในรูปแบบที่นักพัฒนา (โดยแอปพลิเคชัน) เข้าใจได้มากขึ้น และมุ่งเน้นที่อินเทอร์เฟซในการแก้ปัญหางานทั่วไป เช่น การปรับใช้แอปพลิเคชัน การติดตามสถานะการสร้าง/การปรับใช้ และแม้แต่การแก้ไขโค้ดผ่าน Eclipse Che
  • การจัดการปริมาณงาน เครือข่าย ที่เก็บข้อมูล สิทธิ์การเข้าถึง
  • การแยกเชิงตรรกะสำหรับปริมาณงานออกเป็นโครงการและแอปพลิเคชัน ในหนึ่งในรุ่นล่าสุด - v4.3 - ปรากฏ พิเศษ แดชบอร์ดโครงการซึ่งแสดงข้อมูลตามปกติ (จำนวนและสถานะของการปรับใช้ พ็อด ฯลฯ ปริมาณการใช้ทรัพยากรและเมตริกอื่นๆ) ในส่วนโปรเจ็กต์
  • อัปเดตในการแสดงสถานะของคลัสเตอร์ตามเวลาจริง การเปลี่ยนแปลง (เหตุการณ์) ที่เกิดขึ้นในนั้น บันทึกการดู
  • ดูข้อมูลการตรวจสอบตาม Prometheus, Alertmanager และ Grafana
  • การจัดการของผู้ประกอบการที่เป็นตัวแทนใน โอเปอเรเตอร์ฮับ.
  • จัดการบิลด์ที่รันผ่าน Docker (จากที่เก็บที่ระบุด้วย Dockerfile) เอสทูไอ หรือสาธารณูปโภคภายนอกโดยพลการ

NB: เราไม่ได้เพิ่มคนอื่นในการเปรียบเทียบ การกระจาย Kubernetes (เช่น คนรู้จักน้อยกว่ามาก คิวบ์สเฟียร์): แม้ว่า GUI จะก้าวหน้าไปมาก แต่ก็มักจะมาเป็นส่วนหนึ่งของสแต็กรวมของระบบขนาดใหญ่ อย่างไรก็ตาม หากคุณคิดว่ามีวิธีแก้ปัญหาไม่เพียงพอที่จะทำงานได้อย่างสมบูรณ์ในการติดตั้ง vanilla K8s โปรดแจ้งให้เราทราบในความคิดเห็น

โบนัส

1. Portainer บน Kubernetes รุ่นเบต้า

โครงการจากทีม Portainer ซึ่งพัฒนาอินเทอร์เฟซยอดนิยมที่มีชื่อเดียวกันสำหรับการทำงานกับ Docker เนื่องจากโครงการนี้ยังอยู่ในช่วงเริ่มต้นของการพัฒนา (เป็นเวอร์ชันเบต้าแรกและเวอร์ชันเดียว ออกไปแล้ว 16 เมษายน 2020) เราไม่ได้ประเมินคุณสมบัติของมัน อย่างไรก็ตาม หลายคนอาจสนใจ: หากสิ่งนี้เกี่ยวกับคุณ ให้ติดตามการพัฒนา

2. แผงน้ำแข็ง

  • เว็บไซต์;
  • ใบอนุญาต: กรรมสิทธิ์;
  • กล่าวโดยย่อ: "Visual Kubernetes Editor"

ภาพรวมของ GUI สำหรับ Kubernetes

แอปพลิเคชันเดสก์ท็อปรุ่นใหม่นี้มีจุดมุ่งหมายเพื่อให้เห็นภาพและจัดการทรัพยากร Kubernetes แบบเรียลไทม์ด้วยอินเทอร์เฟซแบบลากและวางที่เรียบง่าย อ็อบเจ็กต์ที่รองรับในปัจจุบัน ได้แก่ Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap และ Secret ในไม่ช้าพวกเขาสัญญาว่าจะสนับสนุน Helm ข้อเสียเปรียบหลักคือความใกล้ชิดของรหัส (คาดว่า เปิด "ในทางใดทางหนึ่ง") และขาดการสนับสนุน Linux (จนถึงขณะนี้มีเพียงเวอร์ชันสำหรับ Windows และ macOS เท่านั้นที่ใช้งานได้ แม้ว่านี่จะเป็นเพียงเรื่องของเวลาก็ตาม)

3.k9s

  • เว็บไซต์;
  • สาธิต;
  • ที่เก็บ (ประมาณ 7700 ดาว GitHub);
  • ใบอนุญาต: อาปาเช่ 2.0;
  • กล่าวโดยย่อ: "อินเทอร์เฟซคอนโซลสำหรับ Kubernetes ที่ให้คุณจัดการคลัสเตอร์อย่างมีสไตล์"

ภาพรวมของ GUI สำหรับ Kubernetes

ยูทิลิตีนี้เป็นเพียงส่วนโบนัสของบทวิจารณ์ด้วยเหตุผลที่ว่ามันมีคอนโซล GUI อย่างไรก็ตาม ผู้เขียนได้บีบคั้นขีดสุดของเทอร์มินัลอย่างแท้จริง โดยนำเสนอไม่เพียงแค่ส่วนต่อประสานที่เป็นมิตรกับผู้ใช้เท่านั้น แต่ยังมีธีมที่กำหนดไว้ล่วงหน้าถึง 6 ธีม และระบบขั้นสูงของแป้นพิมพ์ลัดและนามแฝงคำสั่ง วิธีการอย่างละเอียดของพวกเขาไม่ได้จำกัดแค่รูปลักษณ์: คุณลักษณะของ k9 นั้นน่าประทับใจอย่างน่าพอใจ: การจัดการทรัพยากร, การแสดงสถานะของคลัสเตอร์, การแสดงทรัพยากรในการแสดงแทนแบบลำดับชั้นด้วยการขึ้นต่อกัน, การดูบันทึก, การสนับสนุน RBAC, การขยายความสามารถผ่านปลั๊กอิน ... ทั้งหมดนี้ดึงดูดใจ สู่ชุมชน K8 ที่กว้างขวาง: จำนวนดาว GitHub ของโครงการเกือบจะดีพอๆ กับแดชบอร์ด Kubernetes อย่างเป็นทางการ!

4. แผงควบคุมแอปพลิเคชัน

และในตอนท้ายของการตรวจสอบ - หมวดหมู่ย่อยแยกต่างหาก ประกอบด้วยเว็บอินเตอร์เฟส XNUMX เว็บซึ่งไม่ได้ออกแบบมาสำหรับการจัดการคลัสเตอร์ Kubernetes อย่างครอบคลุม แต่สำหรับการจัดการสิ่งที่ปรับใช้ในคลัสเตอร์เหล่านั้น

ดังที่คุณทราบ หนึ่งในเครื่องมือที่สมบูรณ์และแพร่หลายที่สุดสำหรับการปรับใช้แอปพลิเคชันที่ซับซ้อนใน Kubernetes คือ Helm ตลอดระยะเวลาที่มีอยู่ แพ็คเกจจำนวนมาก (แผนภูมิหางเสือ) ได้สะสมเพื่อการปรับใช้ที่ง่ายดาย แอพพลิเคชั่นยอดนิยมมากมาย. ดังนั้นการปรากฏตัวของเครื่องมือภาพที่เหมาะสมที่ช่วยให้คุณจัดการวงจรชีวิตของแผนภูมิจึงค่อนข้างสมเหตุสมผล

4.1.ตาข้างเดียว

  • ที่เก็บ (1300+ ดาว GitHub);
  • ใบอนุญาต: อาปาเช่ 2.0;
  • กล่าวโดยย่อ: “เว็บแอปพลิเคชันสำหรับค้นหาและค้นพบแผนภูมิ Helm ในที่เก็บข้อมูลหลายแห่ง ทำหน้าที่เป็นพื้นฐานสำหรับโครงการ Helm hub"

ภาพรวมของ GUI สำหรับ Kubernetes

การพัฒนานี้จากผู้เขียน Helm ได้รับการติดตั้งใน Kubernetes และทำงานภายในคลัสเตอร์เดียวกันโดยดำเนินงาน แต่ปัจจุบันแทบไม่มีการพัฒนาโครงการแล้ว จุดประสงค์หลักคือเพื่อสนับสนุนการมีอยู่ของ Helm Hub สำหรับความต้องการอื่นๆ ผู้เขียนแนะนำ Kubeapps (ดูด้านล่าง) หรือ Red Hat Automation Broker (ส่วนหนึ่งของ OpenShift แต่ยังไม่ได้พัฒนาอีกต่อไป)

4.2. Kubeapps

ภาพรวมของ GUI สำหรับ Kubernetes

ผลิตภัณฑ์จาก Bitnami ซึ่งติดตั้งในคลัสเตอร์ Kubernetes เช่นกัน แต่แตกต่างจาก Monocular ในการเริ่มต้นที่เน้นการทำงานกับที่เก็บข้อมูลส่วนตัว

ฟังก์ชั่นและคุณสมบัติที่สำคัญของ Kubeapps:

  • ดูและติดตั้งแผนภูมิ Helm จากที่เก็บ
  • ตรวจสอบ อัปเดต และลบแอปพลิเคชันที่ใช้ Helm ที่ติดตั้งบนคลัสเตอร์
  • รองรับที่เก็บแผนภูมิแบบกำหนดเองและส่วนตัว (รองรับ ChartMuseum และ JFrog Artifactory)
  • การดูและการทำงานกับบริการภายนอก - จาก Service Catalog และ Service Brokers
  • การเผยแพร่แอปพลิเคชันที่ติดตั้งโดยใช้กลไก Service Catalog Bindings
  • รองรับการตรวจสอบและแยกสิทธิ์โดยใช้ RBAC

ตารางสรุป

ด้านล่างนี้คือตารางสรุปที่เราได้พยายามสรุปและรวมคุณสมบัติหลักของอินเทอร์เฟซภาพที่มีอยู่เพื่ออำนวยความสะดวกในการเปรียบเทียบ:

ภาพรวมของ GUI สำหรับ Kubernetes
(ตารางเวอร์ชั่นออนไลน์ มีอยู่ใน Google เอกสาร.)

ข้อสรุป

GUI สำหรับ Kubernetes เป็นช่องที่ค่อนข้างเฉพาะเจาะจงและยังใหม่อยู่ อย่างไรก็ตาม มันกำลังพัฒนาอย่างแข็งขัน: มันเป็นไปได้แล้วที่จะหาทางออกทั้งที่ค่อนข้างเป็นผู้ใหญ่และที่ยังเล็กอยู่ซึ่งยังมีช่องว่างให้เติบโต ตอบสนองการใช้งานที่หลากหลาย นำเสนอคุณสมบัติและรูปลักษณ์ที่เหมาะกับทุกรสนิยม เราหวังว่าบทวิจารณ์นี้จะช่วยให้คุณเลือกเครื่องมือที่เหมาะกับความต้องการในปัจจุบันของคุณได้ดีที่สุด

PS

ขอบคุณ คาวาปส์ สำหรับข้อมูลบน OpenShift Console สำหรับตารางเปรียบเทียบ!

อ่านเพิ่มเติมในบล็อกของเรา:

ที่มา: will.com

เพิ่มความคิดเห็น