3 คะแนน โดย GN⁺ 2024-06-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

📦 Glasskube คืออะไร?

Glasskube เป็นตัวจัดการแพ็กเกจโอเพนซอร์สสำหรับ Kubernetes โดยสามารถดีพลอย อัปเดต และตั้งค่าแพ็กเกจได้เร็วกว่า 20 เท่าเมื่อเทียบกับเครื่องมืออย่าง Helm หรือ Kustomize ได้แรงบันดาลใจจากความเรียบง่ายของ Homebrew และ npm คุณสามารถดีพลอยแพ็กเกจได้โดยตรงผ่าน Glasskube UI, CLI หรือ GitOps

⭐️ ทำไมต้อง Glasskube?

  • จากการทำงานในระบบนิเวศ Kubernetes มานานกว่า 5 ปี พบความยากลำบากในการจัดการแพ็กเกจ การตั้งค่า และการดีพลอย
  • เครื่องมืออย่าง Homebrew, apt, dnf ใช้งานได้ง่าย
  • Glasskube ถูกพัฒนาขึ้นเพื่อแก้ปัญหาที่ผู้ใช้จำนวนมากพบร่วมกัน

✨ ฟีเจอร์หลัก

  • CLI และ UI ที่เรียบง่ายและเชื่อถือได้: สามารถติดตั้งแพ็กเกจลงในคลัสเตอร์ได้ง่ายผ่าน Glasskube UI
  • การตั้งค่าแพ็กเกจ: สามารถตั้งค่าแพ็กเกจผ่าน UI หรือ CLI โดยใช้ค่าอินพุตแบบ type-safe
  • การจัดการ dependencies: แพ็กเกจของ Glasskube รับรู้ dependencies ทำให้อ้างอิงจากหลายแพ็กเกจได้ และติดตั้งลงใน namespace ที่ถูกต้อง
  • การอัปเดตแพ็กเกจอย่างปลอดภัย: สามารถพรีวิวการอัปเดตและอัปเดตไปยังเวอร์ชันที่ต้องการได้ด้วยคลิกเดียว (หรือคำสั่ง CLI)
  • Reactions และ comments: สามารถพูดคุยและโหวตเกี่ยวกับแพ็กเกจ Kubernetes ได้บน GitHub หรือ Glasskube UI
  • การผสานรวมกับ GitOps: แพ็กเกจ Glasskube ทั้งหมดสามารถจัดการด้วย GitOps ได้
  • หลายรีโพซิทอรีและแพ็กเกจส่วนตัว: ใช้งานได้กับหลายรีโพซิทอรีและสามารถเผยแพร่แพ็กเกจส่วนตัวได้

🚀 เริ่มต้นอย่างรวดเร็ว

  • ติดตั้ง Glasskube ผ่าน Homebrew:
    brew install glasskube/tap/glasskube
    
  • ติดตั้งคอมโพเนนต์ที่จำเป็นลงในคลัสเตอร์:
    glasskube bootstrap
    
  • เริ่มต้น UI ของตัวจัดการแพ็กเกจ:
    glasskube serve
    
    คำสั่งนี้จะเปิด http://localhost:8580 ในเบราว์เซอร์เริ่มต้น

📦 แพ็กเกจที่รองรับ

Glasskube รองรับแพ็กเกจหลากหลาย โดยแพ็กเกจหลักมีดังนี้:

  • Kubernetes Dashboard kubernetes/dashboard
  • Cert Manager cert-manager/cert-manager
  • Ingress-NGINX Controller kubernetes/ingress-nginx
  • Kube Prometheus Stack prometheus-operator/kube-prometheus
  • Cloud Native PG cloudnative-pg/cloudnative-pg

☝️ ต้องการความช่วยเหลือหรืออยากส่งฟีดแบ็ก?

หากเกิดปัญหา สามารถขอความช่วยเหลือได้ทาง Discord ส่วนบั๊ก ปัญหา หรือคำขอฟีเจอร์ สามารถเปิด issue เพื่อดำเนินการแก้ไขได้

🤝 วิธีมีส่วนร่วมกับ Glasskube

ฟีดแบ็กมีความสำคัญอย่างมากต่อการพัฒนา Glasskube วิธีมีส่วนร่วมคือทดลองใช้เวอร์ชันเบตา รายงานปัญหา และแบ่งปันข้อเสนอแนะ รายละเอียดเพิ่มเติมดูได้จากคู่มือการมีส่วนร่วม

🤩 ขอบคุณผู้มีส่วนร่วมทุกคน

ขอขอบคุณทุกคนที่สนับสนุนโปรเจกต์นี้ ไม่ว่าจะมีส่วนร่วมมากน้อยเพียงใดก็ล้วนได้รับคำขอบคุณ

📘 ไลเซนส์

Glasskube อยู่ภายใต้ไลเซนส์ Apache 2.0 ดูรายละเอียดเพิ่มเติมได้ในไฟล์ LICENSE

GN⁺ ความเห็น

  • นวัตกรรมด้านการจัดการแพ็กเกจ Kubernetes: Glasskube ช่วยลดความซับซ้อนของการจัดการแพ็กเกจ Kubernetes ได้อย่างมาก
  • อินเทอร์เฟซที่เป็นมิตรกับผู้ใช้: ผู้ใช้เข้าถึงได้ง่ายผ่านทั้ง UI และ CLI
  • การอัปเดตอย่างปลอดภัย: ฟีเจอร์สำหรับทดสอบล่วงหน้าและนำการอัปเดตไปใช้ได้อย่างปลอดภัยมีประโยชน์มาก
  • การผสานรวมกับ GitOps: การเชื่อมต่อกับ GitOps ทำให้กระบวนการ DevOps ราบรื่นยิ่งขึ้น
  • รองรับแพ็กเกจหลากหลาย: รองรับแพ็กเกจจำนวนมาก จึงใช้งานได้อย่างยืดหยุ่น

1 ความคิดเห็น

 
GN⁺ 2024-06-27
ความคิดเห็นบน Hacker News
  • ปัญหาของการจัดการแพ็กเกจ Kubernetes คือการจัดการไฟล์ YAML ที่ซ้อนกันหลายชั้นและผลลัพธ์ที่คาดเดาได้ยาก
  • วิธีจัดการแพ็กเกจแบบใหม่นั้นน่าสนใจ และอาจมีประโยชน์กับโปรเจกต์ส่วนตัว
  • แพ็กเกจแอปพลิเคชันแบบดั้งเดิมถูกออกแบบมาสำหรับแพลตฟอร์มเฉพาะ จึงแทบไม่มีการเปลี่ยนแปลงระหว่างการติดตั้ง
  • แพ็กเกจ Kubernetes ต้องการ dependency และการตั้งค่าหลายชั้น และตอนนี้ก็ยังไม่มีโซลูชันที่จัดการเรื่องนี้ได้อย่างสมบูรณ์
  • เหตุผลที่การจัดการแพ็กเกจ Kubernetes ทำให้เรียบง่ายแบบ brew หรือ apt ได้ยาก คือแต่ละสภาพแวดล้อมต้องใช้ค่าที่แตกต่างกัน
  • การใช้งาน Kubernetes ต้องมีความรู้พื้นฐานประกอบ และไม่สามารถหลีกเลี่ยงความซับซ้อนได้
  • โมเดล operator แบบเรียบง่ายของ Kubernetes เป็นสาเหตุของปัญหา และจำเป็นต้องมีแนวคิดแบบ VDOM/reducer เพื่อแก้ไข
  • มีการสร้าง Kubernetes operator จำนวนมากเพื่อรับมือกับปัญหาของ Helm และ OLM และต้องการข้อมูลที่ชัดเจนเกี่ยวกับแผนการอัปเกรด CRD
  • สงสัยว่าทำไม Google ถึงไม่สร้างภาษาโปรแกรมที่เรียบง่ายสำหรับการจัดการ configuration
  • ความเร็วของ Helm ไม่ใช่ปัญหาใหญ่ และคิดว่าทิศทางการตลาดนั้นผิดจุด
  • Helm ถูกใช้เป็นหลักในฐานะภาษาเทมเพลต และบริษัทใหญ่ ๆ ก็ไม่ได้ต้องการเครื่องมือใหม่