هل وجدت يومًا أن إدارة نشرات Kubernetes (K8s) تعتبر مهمة صعبة؟ مع مساعدة الذكاء الاصطناعي، يمكنك إدارة الحاويات بكفاءة مع الحفاظ على السيطرة والأمان. هنا يأتي دور خادم Kubernetes MCP (K8s MCP).
سيوجهك هذا الدليل لفهم واستخدام K8s MCP، وهو خادم يقوم بتنفيذ بروتوكول نموذج السياق (MCP) مصمم خصيصًا للتفاعل مع كتل Kubernetes الخاصة بك. هذا يفتح إمكانيات مثيرة لأتمتة المهام، والحصول على رؤى، وحتى استخدام وكلاء الذكاء الاصطناعي لإدارة نشراتك. دعنا نتعمق في عالم إدارة السحاب الذكي!

ما هو خادم Kubernetes MCP (K8s MCP)؟
يعمل خادم Kubernetes MCP كحلقة وصل بين أدواتك المدعومة بالذكاء الاصطناعي وكتلة Kubernetes الخاصة بك. يقوم بتنفيذ بروتوكول نموذج السياق (MCP) لتوفير طريقة آمنة ومنظمة لتفاعل الذكاء الاصطناعي مع نشراتك.
فكر في الأمر بهذه الطريقة: Kubernetes هو نظام التشغيل للسحابة الخاصة بك، وK8s MCP هو المترجم الذي يسمح للذكاء الاصطناعي بفهم وإدارة ذلك النظام.

بدلاً من تعريض كتلتيك لنماذج الذكاء الاصطناعي المحتملة غير الموثوقة، يعمل خادم K8s MCP كحارس أمان، حيث يوفر واجهة مسيطرة تسمح للذكاء الاصطناعي بـ:
- قائمة بالموارد المتاحة في كتلتك (الوحدات، والنشرات، والخدمات، إلخ).
- الحصول على معلومات مفصلة عن موارد محددة.
- تنفيذ أوامر لإدارة نشراتك (توسيع، تحديث، إعادة تشغيل، إلخ).
يتم كل هذا مع التفويض والتدقيق المناسبين، مما يضمن بقاء كتلتك آمنة.
متطلبات خادم Kubernetes MCP
قبل أن نبدأ، دعنا نتأكد من أن لديك كل ما تحتاجه:
1. كتلة Kubernetes: ستحتاج إلى الوصول إلى كتلة Kubernetes تعمل. يمكن أن تكون هذه كتلة محلية (باستخدام Minikube أو Rancher Desktop)، أو كتلة سحابية (على AWS أو Azure أو Google Cloud)، أو أي بيئة Kubernetes أخرى.
2. تثبيت وتكوين kubectl: أداة سطر الأوامر kubectl هي أساسية للتفاعل مع كتلة Kubernetes الخاصة بك.
- تأكد من أنك قد قمت بتثبيت kubectl وأنه موجود في مسارك (قائمة الدلائل لنظام تشغيلك التي يتم البحث فيها عن البرامج القابلة للتنفيذ).
- يجب أن يكون لديك ملف kubeconfig صالح مع سياق واحد على الأقل مُعد. عادة ما يكون هذا الملف في ~/.kube/config.
- تحقق من أن kubectl يمكنه الاتصال بكتلتك بدون أي أخطاء في الاعتماديات. قم بتنفيذ الأمر kubectl get pods في نافذة طرفية قياسية. إذا فشل هذا الأمر، فسيفشل خادم K8s MCP أيضًا بالاتصال.
3. Node.js و Bun: يستخدم تنفيذ K8s MCP المحدد هذا Node.js ومدير الحزم Bun. تأكد من تثبيت كلاهما.

4. Helm v3 (اختياري): يحتاج Helm v3 إلى التثبيت والتكوين للخادم، على الرغم من أنه قد لا يُستخدم. يمكنك تنزيله من الموقع الرسمي.

التثبيت والتكوين: إعداد خادم K8s MCP الخاص بك
1. استنساخ المستودع:
افتح نافذة الطرفية الخاصة بك وقم بتشغيل الأمر التالي:
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetesسيقوم هذا بتحميل الشفرة من GitHub ونقلك إلى دليل المشروع.
2. تثبيت التبعيات بواسطة Bun:
تستخدم هذا المشروع Bun، وهو بيئة تشغيل JavaScript سريعة، كمدير حزم. تأكد من أنك قد قمت بتثبيت Bun، ثم قم بتشغيل:
bun installيقرأ هذا الأمر ملف package.json ويقوم بتثبيت جميع التبعيات اللازمة للمشروع.
3. تشغيل خادم K8s MCP:
bun run dev # للتطوير ومراقبة الملفاتسيقوم هذا بتشغيل خادم K8s MCP. سيتصل تلقائيًا بسياق kubectl الذي لديك مُعد حاليًا. تأكد من أن اتصالك بكتلة K8s يعمل أو سيواجه الخادم مشكلات في الاتصال.
ملاحظات هامة: نظرًا لأن الخادم سيتصل تلقائيًا بسياق kubectl الحالي، ستحتاج إلى التأكد من أن Helm تم تكوينه بشكل صحيح إذا كان لديك مخطط Helm في المشروع.
4. الاختبار المحلي باستخدام Inspector MCP:
لإجراء اختبار سريع لخادم k8's MCP، يُوصى باستخدام مدقق بروتوكول نموذج السياق (@modelcontextprotocol/inspector) للاختبار المحلي. تساعدك هذه الأداة في تصور والتفاعل مع قدرات خادم MCP.
npx @modelcontextprotocol/inspector node dist/index.jsاتبع التعليمات المعروضة على الشاشة في نافذة الطرفية للوصول إلى رابط Inspector في متصفحك. سيسمح لك ذلك باستكشاف الموارد المتاحة MCP وتجربة الأوامر.

اختبار محلي لخادم K8s MCP باستخدام Claude Desktop
لدمج هذا K8s MCP مع Claude Desktop (أو أداة ذكاء اصطناعي أخرى)، ستحتاج إلى تكوين Claude للتواصل مع الخادم.
- العثور على تكوين Claude Desktop:
ابحث عن ملف "claude_desktop_config.json" في إعدادات Claude Desktop (عادةً ما يوجد في قسم المطورين أو المتقدمين).
2. إضافة تكوين خادم MCP:
أضف إدخالًا جديدًا إلى قسم خوادم MCP في ملف "claude_desktop_config.json":
{
"mcpServers": {
"k8s-mcp": { // أو اختر اسمًا وصفيًا
"command": "node",
"args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"]
}
}
}مهم: استبدل "/path/to/your/mcp-server-kubernetes/dist/index.js" بالمسار المطلق الحقيقي لملف "dist/index.js" في مستودعك المستنسخ.
3. اختبار مع Claude Desktop:
أعد تشغيل Claude Desktop. الآن، يجب أن تكون قادرًا على التفاعل مع كتلة Kubernetes الخاصة بك من خلال Claude باستخدام أوامر اللغة الطبيعية. ابدأ بطرح سؤال على Claude لعرض وحداتك أو لإنشاء نشر اختبار لترى إذا كانت الاتصال بالخادم يعمل. إذا كانت هذه تعمل، فمن الآمن افتراض أن باقي الأمور ستعمل أيضًا.
مثال 1: "هل يمكنك عرض الوحدات في مساحة الأسماء الافتراضية"

مثال 2: "هل يمكنك إنشاء وحدة Nginx في مساحة الأسماء الافتراضية وتسميتها nginx-pod"

مثال 3: "هل يمكنك حذف وحدة Nginx"

اعتبارات الأمان: حماية كتلتك
الأمان أمر بالغ الأهمية عند دمج الذكاء الاصطناعي مع كتلة Kubernetes الخاصة بك.
- تحقق من الوظيفة والنطاق: قبل الوثوق في الذكاء الاصطناعي لإدارة الجوانب الحيوية لكتلتك، تحقق بعناية من الإجراءات التي يمكنه أداؤها. فهم الأذونات المرتبطة بسياق kubectl الخاص بك أو حساب الخدمة.
خاتمة
لقد اتخذت الآن الخطوات الأولى نحو استكشاف إمكانيات استخدام الذكاء الاصطناعي للتفاعل مع كتلة Kubernetes الخاصة بك! من خلال إعداد خادم K8s MCP، فتحت الباب أمام أدوات الذكاء الاصطناعي لمساعدتك في الإدارة وتقديم رؤى. تذكر أن تركز على الأمان والتحقق بعناية من الوظائف قبل الاعتماد على الذكاء الاصطناعي في المهام الحرجة.

