ตัวจัดการบันทึกเทอร์มินัลสำหรับคลัสเตอร์ Kubernetes และพ็อดหลายคอนเทนเนอร์
สัมผัสประสบการณ์การตรวจสอบล็อกคลัสเตอร์แบบโต้ตอบกับ Klim ซึ่งย่อมาจาก Kubernetes Log Interactive Manager โดย nassiharel ที่สร้างขึ้นเพื่อทำให้การค้นหาและดูล็อกของ pod ใน namespaces ง่ายขึ้น เครื่องมือนี้แทนที่การเรียกใช้งาน kubectl ที่ยาวเหยียดด้วยการทำงานในเทอร์มินัลแบบโต้ตอบที่รองรับการติดตามแบบเรียลไทม์และสตรีมพร้อมกัน ความสามารถหลักประกอบด้วยการกรอง regex, ผลลัพธ์ที่มีสีโค้ด และการสลับบริบท ผู้ใช้เป้าหมายคือวิศวกร DevOps, SREs และนักพัฒนาที่ต้องการการแก้ไขปัญหาที่รวดเร็วและเป็นรูปธรรมภายในเซสชันเทอร์มินัล.
klim แทนที่คำสั่ง kubectl ที่ซ้ำซากสำหรับการสำรวจล็อกสด
klim มีการไหลของการเลือกแบบเทอร์มินัลเพื่อให้ผู้ดำเนินการไม่ต้องพิมพ์ชื่อทรัพยากรยาว ๆ ซ้ำแล้วซ้ำอีก อินเทอร์เฟซช่วยให้คุณเลือก namespaces, pods, และ containers จากรายการและจากนั้นสตรีมล็อกทันที ซึ่งช่วยลดการค้นหาด้วยมือในระหว่างการตอบสนองต่อเหตุการณ์ นอกจากนี้ การนำทาง pod หลาย container และการติดตามพร้อมกันรวมการค้นพบและการสตรีมเข้าด้วยกันเป็นการกระทำเชิงโต้ตอบเดียวแทนที่จะเป็นคำสั่งแยกหลายคำสั่ง
มันทำงานเป็นไบนารี Go ขนาดกะทัดรัดที่มีผลกระทบต่อระบบน้อยที่สุด
เครื่องมือถูกแจกจ่ายเป็นไฟล์ที่สามารถรันได้เบา ๆ ที่ใช้ Go ซึ่งไม่ต้องการการพึ่งพาภายนอกอื่นใดนอกจากไฟล์ kubeconfig ที่มีอยู่แล้ว เนื่องจากมันทำงานภายในเทอร์มินัลมาตรฐานเช่น PowerShell, CMD หรือ Windows Terminal การใช้ทรัพยากรจึงต่ำเมื่อเปรียบเทียบกับทางเลือก GUI ที่มีน้ำหนักมาก นอกจากนี้ การออกแบบแบบไบนารีเดียวทำให้การติดตั้งในสถานีงานของนักพัฒนาและเชลล์ระยะไกลที่ไม่ต้องการติดตั้งเครื่องมือเพิ่มเติมเป็นเรื่องง่าย
มันเชื่อมต่อโดยตรงกับ Kubernetes API และต้องการข้อมูลรับรองของคลัสเตอร์
klim ทำงานเป็นไคลเอนต์แบบสแตนด์อโลนที่พูดคุยกับ API ของคลัสเตอร์แทนที่จะเรียกใช้ CLI อื่น ดังนั้นมันจึงขึ้นอยู่กับ kubeconfig ที่ถูกต้องและการเข้าถึงคลัสเตอร์ การออกแบบนี้รักษาการควบคุมการเข้าถึงของคลัสเตอร์ แต่ก็หมายความว่าผู้ใช้ต้องมีสิทธิ์ที่เหมาะสมก่อนที่พวกเขาจะสามารถแสดงรายการ namespaces หรือสตรีมล็อกของ pod ได้ วิธีการนี้โปร่งใสเกี่ยวกับข้อมูลรับรองและการสลับบริบท ช่วยให้ผู้ใช้เลือกคลัสเตอร์ที่แตกต่างกันเมื่อได้รับอนุญาต
TUI เชิงโต้ตอบเร่งความเร็วในการแก้ไขปัญหาหลาย container แต่ลดตัวเลือกการทำงานอัตโนมัติ
อินเทอร์เฟซผู้ใช้เทอร์มินัลมีผลลัพธ์ที่มีการเข้ารหัสสีและตัวกรองที่ใช้ regex ซึ่งช่วยเร่งการดีบักสด การรวมกันที่ผู้ตรวจสอบสังเกตว่ารวดเร็วกว่าการใช้ kubectl logs ซ้ำ ๆ สำหรับสถานการณ์หลาย container อย่างไรก็ตาม การมุ่งเน้นไปที่การเลือกเชิงโต้ตอบและการติดตามแบบเรียลไทม์ทำให้เครื่องมือเหมาะสมที่สุดสำหรับเซสชันแบบลงมือทำ; มันไม่ได้ถูกปรับให้เหมาะสมสำหรับการเก็บล็อกแบบไม่โต้ตอบที่เขียนสคริปต์หรือ CI pipelines ที่ต้องการการทำงานอัตโนมัติ
ตัวเลือกที่ใช้งานได้จริงสำหรับการดีบักคลัสเตอร์แบบลงมือทำพร้อมการแลกเปลี่ยนที่ชัดเจน
klim เป็นตัวเลือกที่ใช้งานได้จริงสำหรับผู้ปฏิบัติงานและวิศวกรที่ต้องการการตรวจสอบบันทึกสดอย่างรวดเร็วโดยตรงในเทอร์มินัล; เวิร์กโฟลว์แบบโต้ตอบช่วยลดเวลาจนถึงบันทึกแรกในระหว่างเหตุการณ์ การแลกเปลี่ยนหลักคือการออกแบบแบบโต้ตอบก่อน ซึ่งจำกัดความเหมาะสมสำหรับงานการเก็บบันทึกที่เป็นอัตโนมัติหรือไม่โต้ตอบ ใช้ klim สำหรับการแก้ไขปัญหาแบบเฉพาะกิจและเก็บผู้รวบรวมที่เขียนสคริปต์ไว้สำหรับการดึงบันทึกอย่างต่อเนื่องหรืออัตโนมัติ.
ข้อดี
- การเลือก namespace, pod, และ container แบบโต้ตอบช่วยลดการพิมพ์ชื่อด้วยมือ
- การติดตามหลายแหล่งแบบเรียลไทม์เร่งกระบวนการแก้ไขปัญหาหลายคอนเทนเนอร์
- ไปที่ไบนารีโดยไม่มีการพึ่งพาภายนอกนอกเหนือจาก kubeconfig
ข้อเสีย
- การออกแบบที่เน้นเทอร์มินัลอาจทำให้ผู้ใช้ที่ชอบ GUI รู้สึกหงุดหงิด
- ไม่เหมาะสมสำหรับการรวบรวมบันทึกที่ใช้สคริปต์หรือแบบ CI
- ต้องการ kubeconfig ที่ถูกต้องและการเข้าถึงคลัสเตอร์เพื่อทำงาน