Polaris นำมาใช้เพื่อรักษาคลัสเตอร์ Kubernetes ให้แข็งแรง

บันทึก. แปล: ต้นฉบับของข้อความนี้เขียนโดย Rob Scott วิศวกร SRE ชั้นนำของ ReactiveOps ซึ่งอยู่เบื้องหลังการพัฒนาโครงการที่ประกาศไว้ แนวคิดในการตรวจสอบความถูกต้องแบบรวมศูนย์ของสิ่งที่นำไปใช้กับ Kubernetes นั้นอยู่ใกล้เรามาก ดังนั้นเราจึงติดตามความคิดริเริ่มดังกล่าวด้วยความสนใจ

Polaris นำมาใช้เพื่อรักษาคลัสเตอร์ Kubernetes ให้แข็งแรง

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

ครั้งแล้วครั้งเล่า เราพบว่าข้อผิดพลาดในการกำหนดค่าเล็กๆ น้อยๆ ที่ดูเหมือนจะนำไปสู่ปัญหาสำคัญที่ทำให้วิศวกรต้องตื่นกลางดึก สิ่งที่ง่ายมาก - ตัวอย่างเช่นการกำหนดค่าคำขอทรัพยากรที่ถูกลืมเนื่องจากการหลงลืม (การร้องขอทรัพยากร) — สามารถทำลายการปรับขนาดอัตโนมัติและยังทำให้ปริมาณงานเหลืออยู่โดยไม่มีทรัพยากรอีกด้วย หากข้อผิดพลาดเล็กน้อยในการกำหนดค่าก่อนหน้านี้ทำให้การผลิตหยุดชะงัก ตอนนี้ Polaris ให้คุณป้องกันได้อย่างสมบูรณ์

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

Polaris ประกอบด้วยองค์ประกอบหลักสองส่วน:

  1. แผงการตรวจสอบที่ให้ข้อมูลเกี่ยวกับการกำหนดค่าการปรับใช้ที่มีอยู่ในคลัสเตอร์ได้ดีเพียงใด
  2. เว็บฮุคการทดสอบเชิงทดลองที่ป้องกันไม่ให้มีการเปิดตัวการปรับใช้ที่ไม่เป็นไปตามมาตรฐานที่ยอมรับ

แผงโพลาริส

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

Polaris นำมาใช้เพื่อรักษาคลัสเตอร์ Kubernetes ให้แข็งแรง

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

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

โพลาริส เว็บฮุค

หากแดชบอร์ดช่วยให้เห็นภาพรวมของการกำหนดค่าปัจจุบันของการปรับใช้ เว็บฮุคจะรับประกันการปฏิบัติตามมาตรฐานสำหรับการปรับใช้ทั้งหมดที่จะเปิดตัวในคลัสเตอร์

เมื่อปัญหาที่ระบุโดยแดชบอร์ดได้รับการแก้ไขแล้ว คุณสามารถใช้เว็บฮุคเพื่อให้แน่ใจว่าการกำหนดค่าจะไม่ต่ำกว่ามาตรฐานที่กำหนดอีก Webhook จะไม่อนุญาตให้ปรับใช้ในคลัสเตอร์ที่มีการกำหนดค่าที่มีการเบี่ยงเบนที่สำคัญ (ระดับ "ข้อผิดพลาด")

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

เริ่มต้นใช้งาน

ฉันหวังว่าเนื่องจากคุณยังคงอ่านประกาศนี้ Polaris จึงเป็นเครื่องมือที่คุณอาจพบว่ามีประโยชน์ ต้องการลองใช้แดชบอร์ดด้วยตัวเองหรือไม่? การปรับใช้พาเนลในคลัสเตอร์นั้นง่ายมาก มีการติดตั้งโดยมีสิทธิ์ขั้นต่ำ (อ่านอย่างเดียว) และข้อมูลทั้งหมดยังคงอยู่ภายใน หากต้องการปรับใช้แดชบอร์ดโดยใช้ kubectl ให้รัน:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

ตอนนี้คุณต้องกำหนดค่าการส่งต่อพอร์ตเพื่อเข้าถึงแดชบอร์ดผ่านพอร์ตโลคัล 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

แน่นอนว่ายังมีวิธีอื่นๆ มากมายในการใช้และปรับใช้ Polaris รวมถึงการใช้ Helm คุณสามารถเรียนรู้เกี่ยวกับเรื่องนี้และอีกมากมายได้จาก พื้นที่เก็บข้อมูล Polaris บน GitHub.

นี่เป็นเพียงจุดเริ่มต้น

เรารู้สึกตื่นเต้นกับสิ่งที่ Polaris สร้างขึ้นมาจนถึงตอนนี้ แต่เรื่องราวยังไม่จบเพียงแค่นั้น มีการทดสอบใหม่ๆ มากมายเกี่ยวกับวิธีที่เราต้องการเพิ่มเพื่อขยายฟังก์ชันการทำงาน นอกจากนี้เรายังมองหาวิธีที่ดีกว่าในการใช้กฎการตรวจสอบข้อยกเว้นในระดับเนมสเปซหรือทรัพยากร หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับแผนของเรา โปรดดู แผนที่ถนน.

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

ปล.จากผู้แปล

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

ที่มา: will.com

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