ข้ามไปยังเนื้อหา

บทความ

KubePilot: CoPilot, Pilot & AutoPilot สำหรับเหตุการณ์ Kubernetes ที่เร็วขึ้น

บทสรุปทางเทคนิค: วงจรเหตุการณ์สามโหมด, การติดตั้ง (แหล่งที่มา/พวงมาลัย/นักเทียบท่า/iOS), รางนิรภัย AutoPilot, MCP, Runbooks และรายการตรวจสอบการผลิต

  • อ่าน 3 นาที
  • Kubernetes
  • DevOps
  • AIOps
  • Open Source

KubePilot เป็นห้องควบคุมการแก้ไขปัญหา Kubernetes แบบโอเพ่นซอร์สที่สร้างโดย TenthMatrix ทีมวิศวกร ผสมผสานการวินิจฉัยโดยใช้ AI (นักบินผู้ช่วย) การเรียกดูคลัสเตอร์สไตล์ SRE (นักบิน) และการแก้ไขตามนโยบาย (ออโต้ไพลอต) ดังนั้นทีมแพลตฟอร์ม, SRE และ DevOps จึงย้ายจากสัญญาณรบกวนไปเป็นการแก้ไขที่ปลอดภัย โดยไม่ต้องสลับแท็บ kubectl ในระหว่างเหตุการณ์ เว็บไซต์ผลิตภัณฑ์: kubepilot.org. แหล่งที่มา: github.com/bwalia/kubepilot.

ฝาครอบ KubePilot — CoPilot Pilot AutoPilot

ตัวแทนสรุป
  • อะไร: ห้องนักบิน K8 แบบโอเพ่นซอร์ส — CoPilot (AI RCA) + Pilot (เบราว์เซอร์ SRE) + AutoPilot (ผู้ให้บริการที่มีรั้วรอบขอบชิด)
  • WHO: SRE, DevOps, แพลตฟอร์ม / ทีม AIOps ที่ต้องการ MTTR ที่เร็วขึ้นพร้อมระบบอัตโนมัติที่ตรวจสอบได้
  • วิ่ง: ไบนารี่ serve บน :8383, แผนภูมิหางเสือ, นักเทียบท่า (ghcr.io/kubepilot/kubepilot) สหาย iOS
  • AI: LLM ท้องถิ่นผ่าน Ollama; คัดลอกพร้อมท์; เซิร์ฟเวอร์ MCP บน :9090
  • ความปลอดภัย: ค่าเริ่มต้นของนักบินแบบอ่านอย่างเดียว ปิด AutoPilot/ทดลองรัน/ใช้งานอยู่; ชั้นความมั่นใจ รายการบล็อก; สวิตช์ฆ่า; บัญชีแยกประเภทการตัดสินใจ

1. ดูคำแนะนำ

youtu.be/CsiJWpfncqA — บาลินเดอร์ วาเลีย, TenthMatrix.

2. ปัญหา KubePilot แก้ไขได้

คลัสเตอร์สมัยใหม่ปล่อยสัญญาณมากกว่าที่มนุษย์สามารถทดสอบได้ในหน้าเดียว: CrashLoops, ImagePullBackOff, OOMKills, แรงกดดันของโหนด, โพรบที่ไม่สม่ำเสมอ และ YAML drift การตอบสนองโดยทั่วไปจะกระจายไปทั่ว:

  • kubectl ประวัติศาสตร์และเชลล์สคริปต์
  • UI เบราว์เซอร์ (Lens / Rancher / แดชบอร์ด)
  • เข้าสู่ระบบเครื่องมือที่สาม
  • การแชท LLM พร้อม YAML ที่วาง (และไม่มีการตรวจสอบสิทธิ์คลัสเตอร์)

การกระจายตัวนั้นจะเผาผลาญนาทีเมื่อนาทีคือ SLA KubePilot ยุบลูปเป็นห้องนักบินเดียว: จุด → ถาม → ตรวจสอบ → แก้ไข.

วงจรเหตุการณ์สามโหมด

3. โหมด A — CoPilot (การแก้ไขปัญหาด้วย AI)

CoPilot เป็นภาษาธรรมชาติและพื้นผิว RCA อัตโนมัติ:

  • ถามคำถามด้านการปฏิบัติงานเป็นภาษาอังกฤษธรรมดา (“เหตุใดจึงต้องชำระเงิน CrashLooping ในรูปแบบผลิตภัณฑ์”)
  • คลิกเพียงครั้งเดียว การวิเคราะห์เอไอ เกี่ยวกับพ็อดและเหตุการณ์ที่มีปัญหา
  • การวิเคราะห์สาเหตุหลักพร้อมสายโซ่หลักฐาน ความเชื่อมั่น ความเสี่ยง คำสั่งที่แนะนำ การแก้ไข YAML และขั้นตอนถัดไป
  • การตรวจจับความผิดปกติสำหรับ CrashLoop, OOM, ImagePull และรูปแบบแรงดันของโหนด
  • คัดลอกพร้อมท์ เพื่อนำพรอมต์การวินิจฉัยที่ถูกต้องกลับมาใช้ซ้ำกับรุ่นที่คุณต้องการ
  • ออกแบบมาสำหรับ Ollama / รุ่นท้องถิ่น เพื่อให้บริบทของคลัสเตอร์สามารถอยู่บนเครือข่ายของคุณได้

เหตุการณ์คลัสเตอร์และการแก้ไขปัญหา AI

4. โหมด B — นักบิน (เบราว์เซอร์การแก้ไขปัญหา SRE)

Pilot เป็นโต๊ะทำงานแบบอ่านอย่างเดียวสไตล์ Lens/Rancher สำหรับการตรวจสอบก่อนการกลายพันธุ์:

  • เรียกดู Deployment, StatefulSets, DaemonSets, งาน, บริการ, Ingresses, ConfigMaps, Secrets, PVCs
  • Pod Workbench: ภาพรวม, คอนเทนเนอร์, เหตุการณ์, บันทึก, YAML ที่ผ่านการฆ่าเชื้อแล้ว, จำนวนการรีสตาร์ท, เวลาทำงาน
  • เกจทรัพยากรคลัสเตอร์แบบสด (CPU, หน่วยความจำ, ดิสก์) — รับรู้ Longhorn หากมี
  • Canvas โทโพโลยีบริการ: Ingress → Service → Workload → Pod พร้อมสีสถานะและพอร์ต
  • การจัดประเภท IP ของ Node LAN, WAN และทันเนล (เช่น WireGuard / ผ้าสักหลาด) — ไม่ใช่แค่ที่อยู่ซ้อนทับเท่านั้น
  • อุโมงค์ส่งต่อพอร์ตจาก UI; การอัปโหลด kubeconfig แบบหลายคลัสเตอร์และการสลับบริบทโดยไม่ต้องรีสตาร์ท

ภาพรวมแดชบอร์ดนำร่องพร้อมมาตรวัดและ IP ของโหนด

5. โหมด C — AutoPilot (ตัวติดตั้ง AI พร้อมรางนิรภัย)

AutoPilot ปิดลูปด้วยการรักษาตนเองที่ตรวจสอบได้ — ไม่ใช้ “YOLO” เป็นค่าเริ่มต้น:

ควบคุม วัตถุประสงค์
โหมด: ปิด/dry-run/ใช้งานอยู่ดูตัวอย่างก่อนนำไปใช้ ให้ระบบอัตโนมัติจอดไว้เมื่อจำเป็น
ชั้นความมั่นใจข้าม RCA ที่มีความมั่นใจต่ำแทนที่จะคาดเดา
รายการบล็อกเนมสเปซและรายการอนุญาตการดำเนินการปกป้องเนมสเปซของระบบ kube / prod จำกัดประเภทการกลายพันธุ์
คูลดาวน์และแคปรายชั่วโมงป้องกันพายุแก้ไข
สวิตช์ฆ่าคลิกเดียวหยุดชั่วคราวสำหรับผู้ปฏิบัติงาน
บัญชีแยกประเภทการตัดสินใจดำเนินการ ข้าม ยกระดับ ล้มเหลว — เส้นทางการตรวจสอบ
การยกระดับรหัส CRการอนุมัติจากมนุษย์สำหรับการกระทำที่มีความเสี่ยง

ความผิดปกติของ AutoPilot ในเวิร์กโฟลว์การแก้ไขที่ได้รับการตรวจสอบ

6. แผนที่เต็ม (จาก kubepilot.org)

  • Runbooks ที่สร้างไว้ล่วงหน้า: เวิร์กโฟลว์การวินิจฉัยที่ดื้อรั้นเจ็ดประการ รันบุ๊ก YAML แบบกำหนดเองพร้อม fsnotify hot-reload (รหัสผู้ใช้จะแทนที่บิวด์อิน)
  • ประวัติ RCA ที่ทนทาน: ตัวเลือก SQLite แบบฝัง (WAL, ไม่มี CGO) พร้อมการเก็บรักษารายงานและความผิดปกติในการรีสตาร์ท
  • การแจ้งเตือนและไทม์ไลน์: คำเตือน เหตุการณ์ ความผิดปกติ RCA เป็นไทม์ไลน์การดำเนินการที่ค้นหาได้ การ์ดเหตุการณ์ Slack ที่เป็นตัวเลือก
  • ชิปสุขภาพ AI: รู้ว่า Ollama พร้อมแล้วก่อนที่เหตุการณ์จะเกิดขึ้น
  • ค่าเริ่มต้นที่คำนึงถึงความปลอดภัยเป็นอันดับแรก: การรับรองความถูกต้องที่เป็นตัวเลือก การเรียกดูแบบอ่านอย่างเดียว ประตูการกลายพันธุ์ นโยบาย CORS
  • โปรโตคอลตัวแทน MCP: เซิร์ฟเวอร์ MCP ในตัวสำหรับการจัดการเอเจนต์หลายคลัสเตอร์และการเข้าถึงทางโปรแกรม
  • สหาย iOS ดั้งเดิม: แอพ SwiftUI — การ์ดสุขภาพ, พ็อด, บันทึก, RCA, Face ID, วิดเจ็ต, Siri / App Intents

7. ตัวเลือกการติดตั้ง

ข้อกำหนดเบื้องต้นสำหรับบิวด์ซอร์ส: ไป 1.22+, Node.js 18+, คลัสเตอร์ที่เข้าถึงได้ + kubeconfig; Ollama แนะนำสำหรับ AI ในพื้นที่

7.1 สร้างจากแหล่งที่มา

git clone https://github.com/bwalia/kubepilot.git
cd kubepilot
make dashboard-install
make dashboard
make build
KUBEPILOT_KUBECONFIG="$HOME/.kube/config" ./dist/kubepilot serve --dashboard-port=8383
# Dashboard/API: http://localhost:8383
# MCP server: :9090

7.2 พวงมาลัย (การติดตั้งคลัสเตอร์)

helm repo add kubepilot https://bwalia.github.io/kubepilot
helm repo update
helm upgrade --install kubepilot kubepilot/kubepilot \
  -n kubepilot --create-namespace
kubectl port-forward svc/kubepilot -n kubepilot 8080:8080
# Open http://localhost:8080

รองรับด้วย: NodePort, Ingress (+ cert-manager TLS), LoadBalancer และการแทนที่ค่า — ดูแผนภูมิ README บน GitHub

7.3 นักเทียบท่า

docker run --rm -p 8383:8383 -p 9090:9090 \
  -v "$HOME/.kube:/root/.kube:ro" \
  ghcr.io/kubepilot/kubepilot:latest \
  serve --dashboard-port=8383

สหาย iOS 7.4

cd ios
brew install xcodegen
./generate.sh
open KubePilot.xcodeproj
# Point the app at http://<server-ip>:8383

8. รูปแบบการใช้งานที่แนะนำ

  1. วันที่ 0: เรียกใช้ Pilot แบบอ่านอย่างเดียวกับคลัสเตอร์ที่ไม่ใช่ผลิตภัณฑ์ สาย Ollama; ยืนยันชิปสุขภาพ AI
  2. วันที่ 1: ใช้ CoPilot AI Analyze กับพ็อดที่รู้จักที่ไม่ดี เปรียบเทียบ RCA กับ runbooks ของคุณ ปรับแต่ง Copy Prompt ลงในทีมของคุณ LLM
  3. วันที่ 2: เปิดใช้งาน AutoPilot ใน แห้งรัน เท่านั้น; ทบทวนบัญชีแยกประเภทการตัดสินใจเป็นเวลาหนึ่งสัปดาห์
  4. วันที่ 3+: เลื่อนระดับเนมสเปซที่เลือกให้ใช้งานได้ด้วยรายการที่อนุญาตขั้นต่ำ ระดับความเชื่อมั่น และการแจ้งเตือน Slack ทำให้ระบบ kube ถูกบล็อก
  5. เสมอ: ซ้อมสวิตช์ฆ่า; เส้นทาง CR-code สำหรับการกลายพันธุ์ที่มีความเสี่ยง เครื่องมือ MCP ที่อยู่เบื้องหลังการตรวจสอบสิทธิ์ (ดูของเรา บทสรุปด้านความปลอดภัยของตัวแทน).

9. รายการตรวจสอบการผลิต

  • ☐ เปิดใช้งานการตรวจสอบสิทธิ์สำหรับแดชบอร์ดที่เข้าถึงเครือข่ายได้
  • ☐ AutoPilot เริ่มทำงานในการทดลองใช้งาน ใช้งานได้หลังจากการตรวจสอบบัญชีแยกประเภทเท่านั้น
  • ☐ รายการบล็อกเนมสเปซประกอบด้วยระบบ/เนมสเปซที่แชร์
  • ☐ ขีดจำกัดและคูลดาวน์รายชั่วโมงต่ำกว่าเกณฑ์พายุ
  • ☐ Ollama (หรือเส้นทาง LLM ที่ได้รับอนุมัติ) ตรวจสอบผ่านสุขภาพของ AI
  • ☐ การรวม Slack หรือเพจเจอร์สำหรับความผิดปกติที่มีความรุนแรงสูง
  • ☐ GitOps ยังคงเป็นเจ้าของสถานะที่ต้องการ — AutoPilot เป็นตัวแก้ไขทางยุทธวิธี ไม่ใช่สิ่งทดแทน Argo CD / Flux
  • ☐ การเผยแพร่ดาวและเพลง: github.com/bwalia/kubepilot.

10. เหตุใด TenthMatrix จึงจัดส่งโอเพ่นซอร์สนี้

TenthMatrix สร้างแพลตฟอร์มอัตโนมัติสำหรับทีมปฏิบัติการจริง KubePilot คือการเดิมพันของเรา AIOps ใช้งานได้เฉพาะเมื่อการวินิจฉัยและการแก้ไขมีหลักฐานหลักฐานเดียวเท่านั้น — และเมื่อระบบอัตโนมัติถูกควบคุมเหมือน SRE ของมนุษย์จะเปิดประตูสู่การเปลี่ยนแปลง เราเผยแพร่ภายใต้โอเพ่นซอร์สเพื่อให้ทีมแพลตฟอร์มสามารถรันบนเครือข่ายของตนเอง ขยายรันบุ๊ก และส่งต่อตัวแทน MCP โดยไม่ต้องผูกมัดกับผู้จำหน่าย

เริ่มต้นที่ kubepilot.org, โคลน ซื้อคืนและดูคำแนะนำต่อไป ยูทูบ. สรุปสหาย: โพสต์ในบล็อก.