kubectl-ai - AI Assistant ل Kubernetes
kubectl-ai هو مساعد مدعوم بالذكاء الاصطناعي ل Kubernetes (من Google Cloud) الذي يفسر الطلبات باللغة الطبيعية ويترجمها إلى عمليات kubectl. يمكنه شرح ما يعمل و generate manifests و diagnose failing pods و chain multi-step investigations — تشغيل كعامل تفاعلي أو أمر لمرة واحدة. محايد النموذج: Gemini أو OpenAI أو نموذج محلي عبر Ollama وهذا يهم عندما تفضل عدم إرسال تفاصيل الكتلة إلى API مستضاف.
يمكن للعامل تنفيذ عمليات الكتلة. راجع ما يقترحه قبل الموافقة على أي شيء مخرب والتفضيل لقراءة سياقات فقط عند الاستكشاف.
التثبيت
| الطريقة | الأمر |
|---|
| Install script | curl -sSL https://raw.githubusercontent.com/GoogleCloudPlatform/kubectl-ai/main/install.sh | bash |
| Krew | kubectl krew install ai |
| Homebrew | brew install kubectl-ai |
| Binary | download from GitHub Releases |
| التحقق | kubectl-ai --version |
تكوين النموذج
| Backend | الإعداد |
|---|
| Gemini | export GEMINI_API_KEY=... (افتراضي) |
| OpenAI | export OPENAI_API_KEY=... و --llm-provider=openai |
| Ollama (محلي) | --llm-provider=ollama --model=llama3.1 |
| Azure OpenAI | متغيرات provider + endpoint |
| Grok / others | supported provider flags |
# محلي بالكامل — لا بيانات الكتلة تترك الجهاز
kubectl-ai --llm-provider=ollama --model=gemma3:12b
أوضاع الاستخدام
| الوضع | الأمر |
|---|
| تفاعلي | kubectl-ai (جلسة الدردشة) |
| One-shot | kubectl-ai "list pods not in Running state" |
| Piped input | cat error.log | kubectl-ai "what is failing here?" |
| كـ plugin | kubectl ai "scale the api deployment to 5" |
ما يعالجه جيداً
| المهمة | مثال الطلب |
|---|
| الفحص | ”which pods restarted في آخر ساعة؟“ |
| التشخيص | ”لماذا checkout deployment لا يكون جاهزاً؟“ |
| Manifest generation | ”إنشاء deployment ل nginx مع 3 replicas وservice” |
| شرح | ”اشرح ما يفعله هذا CRD” |
| Multi-step triage | ”ابحث عن failing pods وأظهر لي سجلاتهم الحديثة” |
| Resource math | ”أي namespaces تستخدم أكثر CPU requests؟“ |
أوامر الجلسة التفاعلية
| الأمر | يفعل |
|---|
models | قائمة النماذج المتاحة |
model <name> | تبديل النموذج منتصف الجلسة |
clear | إعادة تعيين المحادثة |
exit / quit | مغادرة الجلسة |
| المتابعات | اسأل في السياق: “الآن أظهر لي سجلاته” |
Control الأمان
| Control | الغرض |
|---|
| Confirmation prompts | الموافقة على الأوامر قبل التنفيذ |
--quiet | non-interactive (scripting; استخدم بحذر) |
| Read-only kubeconfig context | الأقوى guardrail |
| Namespace scoping | حد blast radius |
| Review generated YAML | قبل kubectl apply |
الإجراء الأكثر موثوقية للسلامة ليس علم — إنه إشارة الأداة في context الذي الأوراق الاعتمادية لا تستطيع تغيير الإنتاج.
تكامل MCP
kubectl-ai يمكنه العمل كـ MCP server أو client مما يكشف عمليات Kubernetes كأدوات لـ AI clients أخرى (أو استهلاك MCP tools خارجي أثناء الجلسة).
| الوضع | العلم |
|---|
| MCP server | --mcp-server |
| MCP client | configure external MCP servers |
سير العمل العملي
# Triage خدمة فاشلة مع modèle محلي الاستضافة
kubectl-ai --llm-provider=ollama --model=llama3.1
> لماذا الـ pods في payments namespace crashlooping؟
> أظهر لي آخر 50 log lines من الأسوأ منها
> ما الذي تغيره في حدود الموارد؟
علاج الإخراج كـ اقتراح معلوم و ليس سلطة — تحقق الإخراج الأساسي kubectl الذي يستشهد به.
kubectl-ai مقابل الأدوات ذات الصلة
| الجانب | kubectl-ai | k9s | kubectl + docs |
|---|
| واجهة | اللغة الطبيعية | TUI | أوامر يدوية |
| مساعدة التشخيص | نعم (التفكير) | فحص بصري | معرفتك الخاصة |
| خيار النموذج المحلي | نعم (Ollama) | لا | لا |
| الأفضل للـ | شرح/تشخيص و draft YAML | ملاحة الكتلة السريعة | ضبط دقيق |
يكمل k9s للملاحة و kubectl للعمليات الدقيقة.
الموارد