1. مقدمة
تقدّم هذه التجربة العملية مقدمة فنية حول استخدام Gemini CLI وخادم بروتوكول Model Context Protocol (MCP) في GKE لإدارة البنية الأساسية. في إدارة GKE التقليدية، يحوّل المشغّلون متطلبات البنية الأساسية يدويًا إلى أوامر gcloud وتعريفات التطبيقات إلى بيانات YAML مكتوبة. يوضّح هذا المختبر أسلوبًا مختلفًا: استخدام واجهة تفاعلية تربط بين الدلالة باللغة الطبيعية والتنفيذ الفني على Google Kubernetes Engine (GKE). يشكّل هذا التحوّل جزءًا من توجّه أوسع في هندسة المنصات، حيث ينتقل التركيز من إنشاء نصوص برمجية آلية ثابتة إلى إدارة وكلاء أذكياء يمكنهم التعامل مع التفاصيل الدقيقة لعمليات البنية الأساسية.
المفاهيم الأساسية
- هندسة المنصات: هي ممارسة إنشاء أدوات وعمليات سير عمل داخلية وصيانتها، ما يتيح لمطوّري البرامج إدارة البنية التحتية الخاصة بهم بدون الحاجة إلى أن يكونوا خبراء في كل خدمة سحابية أساسية. والهدف هو تقليل المشاكل التقنية مع الحفاظ على المطابقة والأمان. من خلال إنشاء مسار ذهبي موحّد، تضمن فِرق المنصات إمكانية نشر مطوّري التطبيقات بأمان وسرعة، بينما يحتفظ فريق المنصة بالتحكّم في الحوكمة والتكلفة.
- Gemini CLI: هي واجهة سطر أوامر تتيح لك التفاعل مع نماذج Gemini مباشرةً من نافذة الأوامر. على عكس روبوت الدردشة العادي المستند إلى الويب، تم تصميم واجهة سطر الأوامر لتكون متاحة ضمن بيئة التطوير، ما يسهّل دمج الذكاء الاصطناعي في سير العمل الحالي المستند إلى shell. يتيح لك ذلك توجيه الإخراج من أوامر أخرى مباشرةً إلى النموذج وتنفيذ التعليمات بدون مغادرة بيئة الجهاز.
- بروتوكول Model Context Protocol (MCP): MCP هو معيار مفتوح يتيح لنموذج الذكاء الاصطناعي الربط بأدوات أو مصادر بيانات معيّنة. بدون MCP، لا يعرف نموذج الذكاء الاصطناعي سوى البيانات التي تم تدريبه عليها، ولا يمكنه الاطّلاع على مواردك المحدّدة. باستخدام خادم GKE MCP، يمكن لـ Gemini CLI الاستعلام بنشاط عن واجهة برمجة التطبيقات لمشروعك على Google Cloud، وفحص حالة المجموعات، وتنفيذ الأوامر نيابةً عنك. وهي تعمل كجسر بين محرك الاستدلال الخاص بالنموذج وواجهة برمجة التطبيقات الفعلية في GKE.
أهداف التمرين المعملي
مع نهاية هذه الجلسة، سيكون بإمكانك:
- ضبط البيئة: يمكنك الوصول إلى Cloud Shell والمصادقة على إضافة GKE MCP للسماح لـ Gemini CLI بالتفاعل مع موارد Google Cloud.
- تصميم البنية الأساسية: استخدِم الطلبات التفاعلية لتحديد إعدادات المجموعات المثالية استنادًا إلى التكلفة ونفقات الإدارة ومتطلبات أعباء العمل.
- إدارة الموارد: يمكنك إنشاء بيانات Kubernetes (عمليات النشر والخدمات وما إلى ذلك) ومراجعتها ونشرها باستخدام اللغة الطبيعية.
- التحليل التشغيلي: يمكنك الاستفادة من قدرة الذكاء الاصطناعي على تجميع السجلات والأحداث لتحديد السبب الأساسي لفشل عمليات النشر واقتراح إصلاحات فنية محدّدة.
2. إعداد المشروع
يجب توفُّر بيئة Google Cloud تم إعدادها بشكل صحيح قبل أن يتمكّن Gemini CLI من التفاعل مع مواردك. يضمن هذا الإعداد حصول مشروعك على الأذونات الصحيحة وأنّ جميع خدمات الخلفية اللازمة جاهزة لتلقّي الطلبات من وكيل الذكاء الاصطناعي.
فتح Cloud Shell
في هذا المختبر، سنستخدم Cloud Shell، وهي بيئة طرفية مستندة إلى المتصفح توفّرها Google Cloud. نستخدم Cloud Shell لأنّه يأتي مُعدًا مسبقًا بجميع الأدوات التي نحتاج إليها، بما في ذلك Google Cloud CLI (gcloud) وkubectl وGemini CLI، ما يوفّر عليك الوقت اللازم لتثبيت هذه الأدوات على جهازك المحلي.
- انتقِل إلى Google Cloud Console.
- انظر إلى عنوان أعلى يسار وحدة التحكّم وانقر على الزر تفعيل Cloud Shell (يبدو كأمر طرفي
>_). - سيتم فتح جلسة محطة طرفية في أسفل نافذة المتصفّح. انقر على متابعة عندما يُطلب منك ذلك.
اختيار مشروع
في نافذة Cloud Shell، تأكَّد من أنّك تعمل ضمن المشروع الصحيح.
- اختَر مشروعًا حاليًا أو أنشِئ مشروعًا جديدًا مخصّصًا لهذا المختبر في "وحدة التحكّم".
- دوِّن رقم تعريف المشروع. يمكنك ضبط المشروع في الصدفة الحالية من خلال تنفيذ الأمر:
gcloud config set project [YOUR_PROJECT_ID]
تفعيل واجهات برمجة التطبيقات
لا يتم تفعيل ميزات Kubernetes والذكاء الاصطناعي تلقائيًا للمشاريع الجديدة. يؤدي تفعيل واجهات برمجة التطبيقات هذه إلى بدء استخدام خدمات Google Cloud الأساسية التي تتعامل مع إدارة الحاويات والنماذج التوليدية وتسجيل البيانات بشكل مركزي.
👉💻 شغِّل الأمر التالي في Cloud Shell لتفعيلها. قد تستغرق هذه العملية دقيقة واحدة.
gcloud services enable \
container.googleapis.com \
generativelanguage.googleapis.com \
cloudresourcemanager.googleapis.com \
logging.googleapis.com
- container.googleapis.com: هي واجهة برمجة التطبيقات Google Kubernetes Engine API. وهو مطلوب لإجراء أي عمليات على مستوى المجموعة، بما في ذلك إنشاء المجموعات وتعديلها وحذفها.
- generativelanguage.googleapis.com: هي واجهة برمجة التطبيقات التي تتيح لأداة Gemini CLI التواصل مع نماذج Gemini اللغوية الكبيرة لإنشاء النصوص والاستدلال.
- cloudresourcemanager.googleapis.com: مطلوب من أجل أن يفحص الوكيل البيانات الوصفية على مستوى المشروع، ويتأكّد من أرقام تعريف المشاريع، ويدير أذونات "إدارة الهوية وإمكانية الوصول".
- logging.googleapis.com: ضروري لتحديد المشاكل وحلّها، إذ يسمح لخادم MCP باسترداد السجلّات وتحليلها من الحاويات عند حدوث مشاكل.
3- ضبط إعدادات Gemini CLI
يتضمّن Cloud Shell أداة Gemini CLI تلقائيًا، ما يجعله البيئة المثالية لسير العمل هذا. تتمثّل خطوتك الأولى في إعدادها للعمل كـ "وكيل" لديه كلّ من السلطة والأدوات المحدّدة اللازمة لإدارة بيئة GKE. تُعدّ خطوة الإعداد هذه ضرورية لأنّها تنشئ اتصالاً آمنًا بين منطق الذكاء الاصطناعي وبنية السحابة الفعلية.
بدء استخدام Gemini CLI
في نافذة Cloud Shell، أنشئ دليل عمل جديدًا وشغِّل Gemini CLI. يبدأ هذا الإجراء جلسة يمكنك فيها إجراء محادثة متواصلة مع النموذج. على عكس الأوامر التي يتم تنفيذها لمرة واحدة، يحتفظ الوضع التفاعلي بنافذة سياق تتذكّر تعليماتك السابقة وحالة مشروعك.
👉💻 شغِّل الأوامر التالية:
mkdir -p ~/gke-lab
cd ~/gke-lab
gemini

بعد الدخول إلى الأداة، اختبِر مستوى الوعي الأساسي بها للتأكّد من أنّها تستطيع رؤية بيئتك:
- 👉💬 الطلب:
Which Google Cloud project is currently active in this shell?
قد يُطلب منك تأكيد تنفيذ الأمر gcloud، ويمكنك بعد ذلك قبول الطلب.
يمكنك مغادرة الواجهة في أي وقت عن طريق كتابة /quit.
ملاحظة: إذا واجهت مشاكل في سعة Gemini 2.5 Pro، يمكنك التبديل إلى Gemini 2.5 Flash من خلال فتح Gemini باستخدام
gemini -m gemini-2.5-flash
أو باستخدام
/model
الأمر داخل الواجهة.
ربط إضافة GKE MCP
بشكلٍ تلقائي، Gemini CLI هو أداة متعدّدة الأغراض ولا تتضمّن معرفة محدّدة بكيفية التفاعل مع مجموعاتك. يجب تثبيت إضافة GKE MCP. تعمل هذه الإضافة كمكوّن إضافي يحدّد مجموعة معيّنة من الأدوات والوظائف، مثل "مجموعات القوائم" أو "الحصول على سجلات pod"، والتي يمكن للنموذج استدعاؤها عندما يحتاج إلى تنفيذ مهمة.
👉💻 شغِّل الأوامر التالية لتثبيت إضافة GKE وإعادة فتح Gemini CLI:
gemini extensions install https://github.com/GoogleCloudPlatform/gke-mcp.git
gemini
يمكنك التأكّد من تفعيلها بشكلٍ صحيح من خلال إعادة إدخال Gemini CLI وكتابة ما يلي:
/extensions
4. توفير البنية الأساسية
غالبًا ما يتضمّن توفير البنية الأساسية التقليدية التنقّل في مستندات معقّدة أو كتابة مئات أسطر رمز الإعداد. باستخدام وكيل، يمكنك التركيز على وصف متطلباتك والسماح للذكاء الاصطناعي بالتعامل مع الترجمة الفنية إلى طلبات البيانات الصحيحة من واجهة برمجة التطبيقات. يوضّح هذا القسم كيفية استخدام الوكيل لكلّ من مرحلة التخطيط ومرحلة الإنشاء الفعلي لبيئة GKE.
التخطيط الفني والمقارنة
قبل إنشاء مجموعة، عليك اختيار بنية تناسب احتياجاتك. توفّر خدمة GKE وضعَين رئيسيَّين: الوضع العادي الذي يتيح لك التحكّم الكامل في العُقد الأساسية، ووضع التشغيل الآلي الذي تدير فيه Google العُقد وتدفع فيه استنادًا إلى الموارد التي تطلبها وحدات Pod. لنجرّب طلبًا بسيطًا لفهم الاختلافات بينهما وتحديد أيهما يجب استخدامه في حالة استخدام معيّنة.
- 👉💬 الطلب:
I need to run a standard 3-tier web application. Compare GKE Standard and GKE Autopilot. Focus on the operational effort for a small team and the cost structure for small workloads.
جرِّب طرح أسئلة حول أفكار أخرى متعلّقة بالبنية الأساسية. ماذا لو كنت بصدد نشر مهام استنتاج الذكاء الاصطناعي، أو كنت بحاجة إلى شيء على نطاق واسع جدًا، أو كانت لديك قيود معقّدة على الشبكات؟ جرِّب طلبات أخرى.
تنفيذ عملية إنشاء المجموعة
بعد مراجعة المقارنة واتّخاذ قرار، يمكنك توجيه الوكيل لإنشاء المجموعة. سيحلّل الوكيل طلبك ويستدعي الأداة create_cluster من خادم GKE MCP لنشر بيئة جاهزة للإنتاج استنادًا إلى هذه المتطلبات.
- 👉💬 الطلب:
Create a GKE Standard zonal cluster named 'gke-lab' in us-central1-a with 1 node with 4 CPUs. The cluster should have Workload Identity enabled.
ملاحظة: تتضمّن عملية توفير مجموعة GKE إعداد لوحة التحكّم والشبكات الافتراضية الخاصة وإعدادات العُقد الأولية، وتستغرق عادةً من 8 إلى 10 دقائق. لا تغلق جلسة Gemini CLI.
يمكنك الاستفسار عن حالة المجموعة، ما سيؤدي مرة أخرى إلى الاستفادة من خادم GKE MCP لعرض معلومات حديثة.
- 👉💬 الطلب:
Is the new GKE cluster created and ready to use, yet?
5- النشر والتحقّق
إحدى المزايا الرئيسية لاستخدام وكيل يعمل بالذكاء الاصطناعي في هندسة المنصات هي قدرته على إجراء عمليات تدقيق وفحص "ما قبل الرحلة" على إعداداتك. بدلاً من نشر بيان وانتظار حدوث خطأ، يمكنك استخدام الوكيل للتحقّق من أنّ YAML سليم من الناحية الفنية ويتوافق مع سياسات الأمان في مؤسستك قبل أن يصل إلى المجموعة.
إنشاء بيانات وصفية
اطلب من الوكيل إنشاء بيان نشر. بما أنّ الوكيل يفهم إصدارات ومخطط واجهة برمجة تطبيقات Kubernetes، سينشئ الوكيل ملف YAML منسّقًا بشكلٍ صحيح ويتضمّن جميع الحقول اللازمة لعملية نشر ناجحة.
- 👉💬 الطلب:
Generate a Kubernetes YAML manifest for an Nginx web server. I need 3 replicas. Set a memory limit of 256Mi and a CPU limit of 500m. Also, include a Service of type LoadBalancer to make it accessible via the internet. Save the manifest as web-server.yaml
التحقّق الفني والتدقيق الأمني
غالبًا ما يؤدي إنشاء ملف YAML يدويًا إلى إعدادات تعمل بامتيازات أكثر من اللازم أو تفتقر إلى ميزات الموثوقية الأساسية. يمكنك استخدام الوكيل لتدقيق البيان الذي تم إنشاؤه للتو للتأكّد من أنّه يستوفي المعايير الحديثة للأمان والمرونة.
- 👉💬 الطلب:
Review the Nginx manifest you just created. Does it include resource requests (not just limits)? Does it specify a non-root user for the container? Add a Pod Disruption Budget to ensure high availability during cluster maintenance. Make any necessary modifications to the file, and tell me what changes were made.
تنفيذ عملية النشر
بعد اكتمال عملية توفير المجموعة من القسم السابق، اطلب من Gemini CLI تطبيق الإعداد على مجموعتك الجديدة. سيستخدم الوكيل أدواته للتواصل مع خادم Kubernetes API وإنشاء الموارد المطلوبة.
- 👉💬 الطلب:
Deploy the audited Nginx manifest to the 'gke-lab' cluster. Use the kubectl command to do this.
التحقّق من الحالة في الوقت الفعلي
بدلاً من تنفيذ أوامر kubectl get pods أو kubectl describe المتعددة، يمكنك أن تطلب من الوكيل تقديم ملخّص باللغة الطبيعية عن تقدّم عملية النشر.
- 👉💬 الطلب:
Are the Nginx pods running? Provide the external IP address assigned to the LoadBalancer once it is available.
هل تواجه صعوبة في مواصلة الدرس؟
إذا بدا أنّ خدمات Nginx لا يتم نشرها بنجاح، جرِّب تحديد المشكلة وحلّها باستخدام Gemini CLI. وهي متوفّرة لمساعدتك.
- 👉💬 الطلب:
The Nginx deployment doesn't start up as expected. Can you help troubleshoot?
6. الصيانة وتحديد المشاكل وحلّها
من أهم مزايا المنصة المستندة إلى الذكاء الاصطناعي قدرتها على تنفيذ عمليات "اليوم الثاني". عندما يتعطّل أحد الأنظمة، يكون التحدي غالبًا هو البحث في آلاف أسطر السجلّ للعثور على الخطأ المهم. باستخدام Gemini CLI مع MCP، يمكنك السماح للوكيل بتجميع السجلات والأحداث ورسائل الحالة لتزويدك بتشخيص عالي المستوى ومسار محدّد للحل.
إدخال الأخطاء يدويًا
لاختبار إمكانية تشخيص المشاكل لدى الوكيل، سننشئ حالة تعذُّر عن قصد. في علامة تبويب منفصلة للوحدة الطرفية، شغِّل الأمر التالي لتعديل عملية النشر باستخدام صورة حاوية غير متوفّرة. يحاكي هذا الإجراء خطأً بشريًا شائعًا: خطأ إملائي في علامة حاوية.
👉💻 شغِّل الأمر التالي خارج Gemini CLI:
kubectl set image deployment/nginx nginx=nginx:invalid-version-xyz123
ملاحظة: قد لا يُطلق على عملية النشر الاسم "nginx" بالضبط. يمكنك التحقّق من ذلك من خلال تنفيذ
kubectl get deployments
سيحاول Kubernetes سحب هذه الصورة، ولكنّه سيفشل لأنّه لا يمكنه العثور على العلامة، وستنتقل الحِزم إلى الحالة ImagePullBackOff.
التحليل باستخدام Gemini CLI
ارجع إلى جلسة Gemini CLI. بدلاً من البحث في وحدة تحكّم Cloud Logging يدويًا، اطلب من الوكيل العثور على الخطأ وشرحه.
- 👉💬 الطلب:
The Nginx deployment on my 'gke-lab' cluster has stopped working. Use your tools to inspect the cluster state, check the recent events, and explain exactly why the pods are failing to start.
ما يحدث هنا: ستلاحظ "واجهة سطر الأوامر" من Gemini أنّ عملية النشر غير سليمة. سيستخدم بعد ذلك الأدوات المتاحة لفحص وحدات Pod الفاشلة. سيحدّد الوكيل خطأ السحب، ويوضّح أنّ العلامة غير صالحة، ويقترح العودة إلى صورة جيدة معروفة.
الصيانة وتقييم المخاطر
تتضمّن صيانة النظام الأساسي البقاء على اطّلاع دائم على التحديثات وعمليات الإيقاف النهائي. يمكنك أن تطلب من الوكيل العمل كمهندس موثوقية الموقع وتقييم حالة مجموعتك وعمرها.
- 👉💬 الطلب:
Is my cluster 'gke-lab' running the latest version of GKE? Check for available upgrades and let me know if any of my current resources use deprecated APIs that would break during an upgrade.
قد يؤدي ذلك إلى أن يستعين Gemini بأدوات خادم GKE MCP، مثل أدوات حالة المجموعة وأدوات الاقتراحات.
7. الخاتمة
أوضحت هذه التجربة المعملية طريقة جديدة للتفاعل مع البنية الأساسية السحابية. من خلال دمج وكيل الذكاء الاصطناعي مباشرةً في سير عمل الوحدة الطرفية عبر Gemini CLI وMCP، انتقلت من كتابة الأوامر يدويًا إلى توجيه النية. يتيح هذا النهج لفِرق المنصات توسيع نطاق خبراتها من خلال توفير واجهة ذكية تتعامل مع التفاصيل المتكررة والمعرَّضة للأخطاء في إدارة Kubernetes، بينما يركّز المهندس البشري على البنية عالية المستوى وحلّ المشاكل.
ملخّص الدرس التطبيقي
- الاتصال: تم ربط Gemini CLI بواجهة GKE API بنجاح باستخدام بروتوكول Model Context Protocol، ما يتيح لنموذج الذكاء الاصطناعي الاطّلاع مباشرةً على حالة مشروعك.
- البنية الأساسية: استخدمت لغة طبيعية لتصميم مجموعة GKE وتوفيرها، ما أتاح لك تجنُّب الحاجة إلى تذكُّر علامات CLI المعقّدة.
- التطوير: أنشأت موارد Kubernetes وراجعتها للتأكّد من أمانها ونشرتها بدون تعديل ملفات YAML يدويًا، ما يضمن اتّباع أفضل الممارسات منذ البداية.
- العمليات: استخدمت الذكاء الاصطناعي لإجراء تحليل السبب الجذري لعملية نشر معطّلة، ما أدّى إلى تقليل متوسط وقت الاسترداد بشكل كبير من خلال السماح للذكاء الاصطناعي بتلخيص السجلات والأحداث.
تنظيف
لمنع تحمّل رسوم مستمرة على Google Cloud مقابل الموارد التي تم إنشاؤها في هذا الدرس التطبيقي، يمكنك توجيه العامل لحذف المجموعة.
ملاحظة: تخطَّ هذه الخطوة إذا كنت تخطّط لإعادة استخدام مجموعة GKE لدرس تطبيقي آخر.
- 👉💬 الطلب:
Delete the 'gke-lab' cluster and any associated resources.
الخطوات التالية
مقالات مقترَحة للقراءة:
- مستندات Gemini CLI: المستندات الرسمية الخاصة بـ Gemini CLI.
- مستندات GKE: الصفحة المقصودة لجميع مستندات GKE.
- هندسة المنصات على Google Cloud: إرشادات حول كيفية التعامل مع هندسة المنصات على Google Cloud
- الذكاء الاصطناعي وتعلُّم الآلة على GKE: مستندات حول تشغيل أحمال عمل الذكاء الاصطناعي وتعلُّم الآلة على GKE
- مركز بنية Google Cloud: إرشادات وأفضل الممارسات لإنشاء أحمال العمل على Google Cloud