تخطَّ إلى المحتوى

مقالة

KubePilot: CoPilot وPilot وAutoPilot لحوادث Kubernetes الأسرع

الموجز الفني: حلقة الحوادث ثلاثية الأوضاع، التثبيت (المصدر/Helm/Docker/iOS)، وقضبان أمان AutoPilot، وMCP، وسجلات التشغيل، وقائمة مراجعة الإنتاج

  • قراءة في 6 دقيقة
  • Kubernetes
  • DevOps
  • AIOps
  • Open Source

KubePilot عبارة عن قمرة قيادة مفتوحة المصدر لاستكشاف أخطاء Kubernetes وإصلاحها تم إنشاؤها بواسطة TenthMatrix الفريق الهندسي. فهو يجمع بين التشخيص بمساعدة الذكاء الاصطناعي (مساعد الطيار)، التصفح العنقودي بأسلوب SRE (طيار)، والمعالجة المرتبطة بالسياسة (الطيار الآلي) لذلك تنتقل فرق النظام الأساسي وSRE وDevOps من الإشارات المزعجة إلى الإصلاح الآمن - دون التلاعب بعلامات تبويب kubectl في منتصف الحادث. موقع المنتج: kubepilot.org. مصدر: github.com/bwalia/kubepilot.

غطاء KubePilot - برنامج CoPilot Pilot AutoPilot

ملخص الوكيل.
  • ماذا: قمرة القيادة K8 مفتوحة المصدر - CoPilot (AI RCA) + Pilot (متصفح SRE) + AutoPilot (مثبت بوابة).
  • من: فرق SRE وDevOps والمنصة/AIOps التي تحتاج إلى MTTR أسرع مع أتمتة قابلة للتدقيق.
  • يجري: ثنائي serve على :8383، مخطط هيلم، دوكر (ghcr.io/kubepilot/kubepilot)، رفيق iOS.
  • الذكاء الاصطناعي: LLMs المحلية عبر Ollama؛ موجه النسخ؛ خادم MCP على: 9090.
  • أمان: الإعدادات الافتراضية للقراءة فقط؛ إيقاف تشغيل الطيار الآلي/التشغيل الجاف/النشط؛ أرضيات الثقة؛ قوائم الحظر؛ مفتاح القتل؛ دفتر القرار.

1. شاهد الإرشادات التفصيلية

youtu.be/CsiJWpfncqA - باليندر واليا، TenthMatrix.

2. المشكلة التي يحلها KubePilot

تُصدر المجموعات الحديثة إشارات أكثر مما يستطيع البشر فرزها في صفحة واحدة: CrashLoops، وImagePullBackOff، وOOMKills، وضغط العقدة، والمسابير غير المستقرة، وانجراف YAML. تنتشر الاستجابة النموذجية عبر:

  • kubectl التاريخ ومخطوطات شل،
  • واجهة مستخدم للمتصفح (Lens / Rancher / لوحة القيادة)،
  • تسجيل الدخول بأداة ثالثة،
  • دردشة LLM مع YAML الملصق (وليس هناك مصادقة جماعية).

يحرق هذا التجزئة الدقائق عندما تكون الدقائق هي SLA. يقوم KubePilot بدمج الحلقة في قمرة قيادة واحدة: بقعة → اسأل → التحقق → الإصلاح.

حلقة حادثة ثلاثية الأوضاع

3. الوضع أ - برنامج CoPilot (استكشاف الأخطاء وإصلاحها بمساعدة الذكاء الاصطناعي)

برنامج CoPilot هو سطح RCA الآلي والمتحدث باللغة الطبيعية:

  • اطرح أسئلة تشغيلية باللغة الإنجليزية البسيطة ("لماذا يتم استخدام CrashLooping في عملية الدفع؟").
  • بنقرة واحدة تحليل الذكاء الاصطناعي على القرون المشكلة والأحداث.
  • تحليل السبب الجذري مع سلاسل الأدلة، والثقة، والمخاطر، والأوامر المقترحة، وإصلاحات YAML، والخطوات التالية.
  • الكشف عن الحالات الشاذة لأنماط ضغط CrashLoop وOOM وImagePull وعقدة.
  • نسخة موجه لإعادة استخدام موجه التشخيص الدقيق مع النموذج المفضل لديك.
  • مصممة ل Ollama / الموديلات المحلية حتى يتمكن سياق المجموعة من البقاء على شبكتك.

أحداث المجموعة واستكشاف أخطاء الذكاء الاصطناعي وإصلاحها

4. الوضع B - تجريبي (متصفح استكشاف أخطاء SRE وإصلاحها)

Pilot هو منضدة عمل للقراءة فقط على نمط Lens/Rancher للتحقق قبل الطفرة:

  • تصفح عمليات النشر، وStatefulSets، وDaemonSets، والوظائف، والخدمات، والمداخل، وConfigMaps، والأسرار، وPVCs.
  • منضدة العمل Pod: نظرة عامة، الحاويات، الأحداث، السجلات، YAML المعقم، عدد مرات إعادة التشغيل، وقت التشغيل.
  • مقاييس موارد المجموعة المباشرة (CPU، الذاكرة، القرص) - مدركة لـ Longhorn حيثما أمكن ذلك.
  • لوحة هيكل الخدمة: الدخول → الخدمة → حمل العمل → جراب بألوان الحالة والمنافذ.
  • تصنيف IP للشبكة المحلية (LAN) والشبكة الواسعة (WAN) والنفق (مثل WireGuard / flannel) - وليس فقط عنوان التراكب.
  • أنفاق المنفذ الأمامي من واجهة المستخدم؛ تحميل kubeconfig متعدد المجموعات وتبديل السياق دون إعادة التشغيل.

نظرة عامة على لوحة القيادة التجريبية مع أجهزة القياس وعناوين IP للعقدة

5. الوضع C - الطيار الآلي (مثبت الذكاء الاصطناعي مع قضبان الأمان)

يقوم AutoPilot بإغلاق الحلقة من خلال الإصلاح الذاتي القابل للتدقيق - لا يتم "تطبيق YOLO" مطلقًا كإعداد افتراضي:

يتحكم غاية
الأوضاع: إيقاف/تشغيل جاف/نشطالمعاينة قبل التقديم؛ إبقاء الأتمتة متوقفة عند الحاجة
أرضيات الثقةتخطي عمليات RCAs منخفضة الثقة بدلاً من التخمين
قوائم حظر مساحة الاسم وقوائم السماح بالإجراءاتحماية مساحات أسماء نظام kube/prod؛ الحد من أنواع الطفرة
فترات التهدئة والقبعات لكل ساعةمنع العواصف العلاجية
قتل التبديلتوقف مؤقت بنقرة واحدة للمشغلين
دفتر القرارتم التنفيذ، والتخطي، والتصعيد، والفشل - مسار التدقيق
تصعيد رمز CRموافقة الإنسان على الأعمال المحفوفة بالمخاطر

شذوذ الطيار الآلي في سير عمل المعالجة المدقق

6. خريطة الميزات الكاملة (من kubepilot.org)

  • دفاتر التشغيل المعدة مسبقًا: سبعة مسارات عمل تشخيصية مدروسة؛ سجلات تشغيل YAML مخصصة مع إعادة التحميل السريع fsnotify (تتجاوز معرفات المستخدم الإضافات).
  • تاريخ RCA الدائم: SQLite اختياري مضمن (WAL، بدون CGO) مع الاحتفاظ بالتقارير والحالات الشاذة عبر عمليات إعادة التشغيل.
  • التنبيهات والجدول الزمني: التحذيرات، والأحداث، والشذوذات، وRCA كجدول زمني للعمليات قابل للبحث؛ بطاقات حوادث Slack الاختيارية.
  • شريحة الذكاء الاصطناعي الصحية: تعرف على أن Ollama جاهز قبل أن يعتمد عليه أي حادث.
  • الإعدادات الافتراضية للأمان أولاً: المصادقة الاختيارية، والتصفح للقراءة فقط، وبوابات الطفرة، وسياسات CORS.
  • بروتوكول وكيل MCP: خادم MCP مدمج لتنسيق الوكيل متعدد المجموعات والوصول البرمجي.
  • رفيق iOS الأصلي: تطبيق SwiftUI — البطاقات الصحية، والبودات، والسجلات، وRCA، وFace ID، والأدوات، وSiri / نوايا التطبيق.

7. تثبيت الخيارات

المتطلبات الأساسية للإصدارات المصدرية: Go 1.22+، Node.js 18+، مجموعة يمكن الوصول إليها + kubeconfig؛ يوصى باستخدام Ollama للذكاء الاصطناعي المحلي.

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

7.4 رفيق دائرة الرقابة الداخلية

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

8. نموذج التشغيل الموصى به

  1. اليوم 0: تشغيل الإصدار التجريبي للقراءة فقط مقابل مجموعة غير منتجة؛ سلك Ollama؛ تأكيد شريحة الصحة AI.
  2. اليوم الأول: استخدام CoPilot AI Analyze على القرون السيئة المعروفة؛ قارن RCA بكتيبات التشغيل الخاصة بك؛ قم بضبط مطالبة النسخ في فريقك LLM.
  3. اليوم الثاني: تمكين الطيار الآلي في التشغيل الجاف فقط؛ مراجعة دفتر الأستاذ لمدة أسبوع.
  4. اليوم 3+: ترقية مساحات الأسماء المحددة إلى نشطة باستخدام قوائم السماح الضيقة وحدود الثقة وتنبيهات Slack؛ إبقاء نظام kube محظورا.
  5. دائماً: التدرب على مفتاح القتل؛ مسار كود CR للطفرات الخطرة؛ أدوات MCP وراء المصادقة (انظر موقعنا موجز الأمن الوكيل).

9. قائمة مراجعة الإنتاج

  • ☐ تم تمكين المصادقة لأي لوحة معلومات يمكن الوصول إليها عبر الشبكة.
  • ☐ يبدأ الطيار الآلي في التشغيل الجاف؛ نشط فقط بعد مراجعة دفتر الأستاذ.
  • ☐ تتضمن قائمة حظر مساحة الاسم النظام/مساحات الأسماء المشتركة.
  • ☐ يتم تعيين الحدود القصوى وفترات التهدئة لكل ساعة تحت عتبات العاصفة.
  • ☐ تتم مراقبة Ollama (أو مسار LLM المعتمد) عبر صحة الذكاء الاصطناعي.
  • ☐ تكامل Slack أو النداء في الحالات الشاذة شديدة الخطورة.
  • ☐ لا يزال GitOps يمتلك الحالة المرغوبة — يعد AutoPilot أداة إصلاح تكتيكية، وليس بديلاً عن Argo CD / Flux.
  • ☐ إصدارات النجوم والمسارات: github.com/bwalia/kubepilot.

10. لماذا يقوم TenthMatrix بشحن هذا المصدر المفتوح

تقوم TenthMatrix ببناء منصات التشغيل الآلي لفرق العمليات الحقيقية. KubePilot هو رهاننا على ذلك لا يعمل AIOps إلا عندما يشترك التشخيص والمعالجة في دليل واحد - وعندما يتم بوابات الأتمتة مثل SRE البشري من شأنه أن يحدث تغييرًا. نقوم بنشره ضمن مصدر مفتوح حتى تتمكن فرق النظام الأساسي من تشغيله على شبكاتهم الخاصة، وتوسيع نطاق دفاتر التشغيل، وتوصيل وكلاء MCP دون تقييد البائع.

ابدأ في kubepilot.org، استنساخ الريبو، وشاهد الإرشادات التفصيلية يوتيوب. ملخص الرفيق: مشاركة مدونة.