เพิ่มพลังให้ Kubernetes ด้วยเครื่องมือสุดเจ๋งเหล่านี้

บทความนี้จะแนะนำให้คุณรู้จักกับเครื่องมือที่ยอดเยี่ยมบางอย่างที่สามารถใช้ร่วมกับ Kubernetes เพื่อเพิ่มพลังให้กับมัน

เมื่อทำงานในระบบนิเวศ DevOps คุณจะรู้ว่าการมีเครื่องมือ DevOps ที่น่าทึ่งมีความสำคัญเพียงใดในการลดความยุ่งยากในการโหลดด้วยตนเอง มีเครื่องมือ DevOps มากมายสำหรับขั้นตอน DevOps และฟังก์ชันการทำงานที่แตกต่างกัน

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

นี่คือรายการเครื่องมือที่น่าทึ่งที่เพิ่มพลังให้กับ Kubernetes ของคุณ

มาเริ่มกันเลย!

หางเสือ

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

ใช้แผนภูมิที่เรียกว่า Helm Charts เพื่อกำหนด ติดตั้ง และอัปเกรดแอปพลิเคชัน Kubernetes ที่ซับซ้อน

คุณสมบัติหางเสือ:

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

ผู้รายงานปัญหา

ผู้รายงานปัญหา เป็นผู้ดำเนินการจัดส่งแบบก้าวหน้าสำหรับ Kubernetes

มันทำให้การส่งเสริมการปรับใช้นกขมิ้นโดยอัตโนมัติโดยใช้ Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, การกำหนดเส้นทางของ Skipper สำหรับการเปลี่ยนการจราจร และ Prometheus สำหรับการวิเคราะห์นกขมิ้น ในการปรับใช้ Canary คุณเปิดตัวรุ่นต่อกลุ่มผู้ใช้กลุ่มเล็กๆ ทดสอบว่าใช้งานได้ดี คุณเปิดตัวรุ่นดังกล่าวกับทุกคน

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

ผู้รายงานปัญหาสามารถเรียกใช้การวิเคราะห์แอปพลิเคชันแบบอัตโนมัติ การเลื่อนระดับ และการย้อนกลับสำหรับกลยุทธ์การปรับใช้ต่างๆ เช่น Canary การทดสอบ A/B การปรับใช้สีน้ำเงิน/สีเขียว

Kubewatch

Kubewatch เป็นผู้เฝ้าติดตาม Kubernetes แบบโอเพ่นซอร์สซึ่งส่งการแจ้งเตือนผ่านช่องทางหย่อน

มันถูกเขียนขึ้นในการเขียนโปรแกรม Go และพัฒนาโดย Bitnami Labs ใช้เพื่อตรวจสอบทรัพยากร Kubernetes และแจ้งให้ทราบหากมีการเปลี่ยนแปลง

คุณสามารถติดตั้ง Kubewatch ผ่าน kubectl หรือโดยใช้แผนภูมิหางเสือ เข้าใจง่ายและมีอินเทอร์เฟซที่ใช้งานง่ายมาก นอกจาก slack แล้ว ยังรองรับ HipChat, Mattermost, Flock, webhook และ SMTP

  คนดังตามความต้องการ: Cameo คืออะไร?

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

Gitkube

Gitkube เป็นเครื่องมือที่ใช้ git push ในการสร้างและปรับใช้อิมเมจนักเทียบท่าบน Kubernetes มันมีสามองค์ประกอบ – รีโมท, gitkube-controller, gitkubed รีโมตประกอบด้วยรีซอร์สแบบกำหนดเองที่จัดการโดย gitkube-controller gitkube-controller จะส่งการเปลี่ยนแปลงไปยัง gitkubed ซึ่งจะสร้างอิมเมจนักเทียบท่าและปรับใช้

คุณสมบัติ Gitkube:

  • ติดตั้งง่าย เสียบปลั๊กและเล่น
  • ให้การควบคุมการเข้าถึงตามบทบาทสำหรับการรักษาความปลอดภัย
  • ง่ายต่อการตรวจสอบโดยใช้กุญแจสาธารณะ
  • รองรับเนมสเปซสำหรับการเช่าหลายรายการ
  • ไม่มีการพึ่งพาเพิ่มเติมนอกเหนือจาก kubectl และ git

kube-state-metrics

kube-state-metrics เป็นบริการที่สร้างเมตริกอ็อบเจ็กต์สถานะโดยการฟังเซิร์ฟเวอร์ Kubernetes API ใช้เพื่อตรวจสอบความสมบูรณ์ของอ็อบเจ็กต์ต่างๆ เช่น โหนด พ็อด เนมสเปซ และการปรับใช้ ให้ข้อมูลดิบที่ยังไม่ได้แก้ไขจาก Kubernetes API

ด้านล่างนี้คือข้อมูลที่จัดทำโดย kube-state-metrics:

  • งาน Cron และสถานะงาน
  • สถานะของพ็อด (พร้อม วิ่ง ฯลฯ)
  • คำขอทรัพยากรและช่วงของมัน
  • ความจุโหนดและสถานะ
  • สเปคของชุดจำลอง

คามุส

คามุส เป็นเครื่องมือ GitOps โอเพ่นซอร์สที่ใช้สำหรับการเข้ารหัสและถอดรหัสความลับสำหรับแอปพลิเคชัน Kubernetes ความลับที่เข้ารหัสซึ่ง Kamus ทำสามารถถอดรหัสได้โดยแอปพลิเคชันที่ทำงานบนคลัสเตอร์ Kubernetes เท่านั้น ใช้ AES, Google Cloud KMS, Azure KeyVault เพื่อเข้ารหัสความลับ คุณสามารถเริ่มต้นใช้งาน Kamus โดยใช้แผนภูมิหางเสือ

Kamus มาพร้อมกับยูทิลิตี้สองแบบ ได้แก่ Kamus CLI และ Kamus init container Kamus CLI ใช้สำหรับการรวมเข้ากับการเข้ารหัส API และคอนเทนเนอร์ Kamus init ใช้สำหรับการรวมเข้ากับการถอดรหัสของ API

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

Untrak

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

หลังจากที่คุณฉีดไฟล์ Manifest ไปยังไปป์ไลน์ CI/CD โดยใช้ kubectl apply หรือ helm template แล้ว Kubernetes จะไม่ทราบว่าวัตถุจะถูกลบออกจากที่เก็บเมื่อใด เมื่อลบออบเจ็กต์แล้ว ออบเจ็กต์จะไม่ถูกติดตามในกระบวนการจัดส่งและยังคงอยู่ในคลัสเตอร์ Kubernetes

มันรันคำสั่งภายในโดยใช้ไฟล์ปรับแต่งอย่างง่าย untrak.yaml เพื่อค้นหาทรัพยากรที่ไม่ได้เป็นส่วนหนึ่งของการจัดการซอร์สโค้ดของคุณอีกต่อไป

  วิธีแก้ไขข้อผิดพลาด SIM ไม่ได้รับการจัดเตรียม MM#2

ขอบเขต

ขอบเขตการสาน ใช้สำหรับการแสดงภาพ ตรวจสอบ และแก้ไขปัญหา Docker และ Kubernetes

โดยจะแสดงมุมมองจากบนลงล่างของแอปพลิเคชันคอนเทนเนอร์ของคุณและโครงสร้างพื้นฐานทั้งหมด ซึ่งคุณสามารถระบุปัญหาและวินิจฉัยปัญหาได้อย่างง่ายดาย

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

คุณสมบัติขอบเขต:

  • ช่วยให้คุณตรวจสอบคอนเทนเนอร์นักเทียบท่าของคุณแบบเรียลไทม์
  • ให้การนำทางที่ง่ายระหว่างกระบวนการที่ทำงานอยู่ในคอนเทนเนอร์
  • แสดงโฮสต์การใช้ CPU และหน่วยความจำหรือบริการอย่างชาญฉลาด
  • รีสตาร์ท หยุด หรือหยุดคอนเทนเนอร์โดยใช้ CLI โดยไม่ต้องออกจากหน้าต่างเบราว์เซอร์ขอบเขต
  • รองรับปลั๊กอินแบบกำหนดเองเพื่อรับรายละเอียดเพิ่มเติมเกี่ยวกับคอนเทนเนอร์ กระบวนการ และโฮสต์

Kubernetes Dashboard

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

คุณสามารถใช้แผนภูมิหางเสือเพื่อปรับใช้แดชบอร์ด Kubernetes หรือใช้คำสั่ง kubectl แบบง่ายที่กล่าวถึงด้านล่าง:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Kops

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

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

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

cที่ปรึกษา

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

มันทำงานในระดับโหนดและสามารถค้นหาคอนเทนเนอร์ทั้งหมดที่ทำงานบนโหนดใดโหนดหนึ่งโดยอัตโนมัติและรวบรวมสถิติหน่วยความจำ ระบบไฟล์ CPU และเครือข่าย มีเว็บอินเตอร์เฟสที่แสดงข้อมูลสดของคอนเทนเนอร์ทั้งหมดในคลัสเตอร์

ในการเริ่มต้นใช้งาน cAdvisor คุณต้องเรียกใช้ภาพนักเทียบท่า google/cadvisor จากนั้นคุณสามารถเข้าถึงได้ที่ http://localhost:8080 ในเว็บเบราว์เซอร์

คูเบสสเปรย์

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

ด้วยการใช้ Kubespray คุณสามารถปรับใช้คลัสเตอร์ได้อย่างรวดเร็วและปรับแต่งพารามิเตอร์ทั้งหมดของการใช้งานคลัสเตอร์ เช่น โหมดการปรับใช้ ปลั๊กอินเครือข่าย การกำหนดค่า DNS เวอร์ชันส่วนประกอบ วิธีการสร้างใบรับรอง ฯลฯ

เพียงแค่เรียกใช้ ansible-playbook ง่ายๆ คลัสเตอร์ของคุณก็พร้อมใช้งาน คุณสามารถปรับขนาดหรืออัปเกรดคลัสเตอร์ Kubernetes ของคุณได้อย่างง่ายดาย

K9s

K9s เป็นเครื่องมือที่ใช้เทอร์มินัลแบบโอเพนซอร์ส และยูทิลิตี้แดชบอร์ดสามารถทำทุกอย่างที่ UI เว็บ Kubernetes ทำ ใช้เพื่อนำทาง สังเกต และจัดการแอปพลิเคชันที่ใช้งานบนคลัสเตอร์ Kubernetes

คุณสมบัติ K9s:

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

Kubetail

Kubetail เป็นสคริปต์ทุบตีอย่างง่ายที่ใช้ในการรวมบันทึกจากหลายพ็อดในสตรีมเดียว

  Convolutional Neural Networks (CNNs): บทนำ

มีประโยชน์มาก!

ช่วยคุณในการดีบักได้อย่างง่ายดาย

เวอร์ชันล่าสุดของ Kubetail ยังมีคุณสมบัติการเน้นและการกรอง คุณลักษณะนี้ช่วยให้คุณสามารถทำการระบายสีบันทึกได้ เมื่อใช้ homebrew คุณสามารถติดตั้ง Kubetail ด้วยคำสั่งเดียว คุณสามารถเพิ่มค่าเริ่มต้นในตัวแปรสภาพแวดล้อมที่ Kubetail สามารถอ่านได้ เช่น KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS เป็นต้น

ซีลอันทรงพลัง

ซีลอันทรงพลัง เป็นเครื่องมือวิศวกรรมโอเพนซอร์ซที่ทรงพลังซึ่งเขียนด้วย python สำหรับคลัสเตอร์ Kubernetes

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

ได้รับแรงบันดาลใจจาก Netflix Chaos Monkey และใช้เพื่อปรับปรุงความยืดหยุ่นของ Kubernetes เมื่อใช้ PowerfulSeal วิศวกรจะพยายามทำลายสิ่งต่างๆ ในคลัสเตอร์อย่างรู้เท่าทันเพื่อตรวจสอบว่าระบบตอบสนองอย่างไร

PowerfulSeal ทำงานในสามโหมด – อัตโนมัติ, โต้ตอบ, ฉลาก

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

ป๊อปอาย

ป๊อปอาย เป็นยูทิลิตี้ทำความสะอาดที่ทำหน้าที่เป็นยาฆ่าเชื้อ 🧼 สำหรับคลัสเตอร์ Kubernetes

จะสแกนคลัสเตอร์ทั้งหมดและรายงานกลับพร้อมปัญหาที่เกี่ยวข้องกับการกำหนดค่าและทรัพยากร ช่วยให้คุณดำเนินการตามแนวทางปฏิบัติที่ดีที่สุดบนคลัสเตอร์ Kubernetes เพื่อไม่ให้เกิดปัญหาทั่วไป

ยูทิลิตีนี้ใช้ได้กับ Windows, Linux และ macOS ปัจจุบันใช้งานได้กับโหนด, พ็อด, เนมสเปซ, บริการเท่านั้น เมื่อใช้ Popeye คุณสามารถระบุทรัพยากรที่ตายแล้วและไม่ได้ใช้ พอร์ตไม่ตรงกัน กฎ RBAC การใช้ตัวชี้วัด และอื่นๆ อีกมากมาย

บทสรุป

เครื่องมือ DevOps มีบทบาทสำคัญในความสำเร็จ และฉันหวังว่าข้อมูลข้างต้นจะช่วยให้คุณจัดการ Kubernetes ได้ดีขึ้น

เรื่องล่าสุด

x