1- مقدمة
يوفر هذا المختبر مقدمة فنية حول استخدام Gemini CLI وخادم بروتوكول Model Context Protocol (MCP) في GKE لإدارة البنية الأساسية. في الإدارة التقليدية لـ GKE، يترجم المشغّلون يدويًا متطلبات البنية الأساسية إلى أوامر gcloud وتعريفات التطبيقات إلى ملفات YAML مكتوبة. يوضّح هذا المختبر نهجًا مختلفًا: استخدام واجهة تفاعلية تربط بين الغرض من اللغة الطبيعية والتنفيذ الفني على Google Kubernetes Engine (GKE). يمثّل هذا التحوّل جزءًا من اتجاه أوسع في هندسة المنصات، حيث يتحوّل التركيز من إنشاء نصوص برمجية صارمة للتشغيل الآلي إلى إدارة وكلاء أذكياء يمكنهم التعامل مع التفاصيل الدقيقة لعمليات البنية الأساسية.
المفاهيم الأساسية
- هندسة المنصات: هي ممارسة إنشاء وصيانة أدوات وسير عمل داخليين يتيحان لمطوّري البرامج إدارة البنية الأساسية الخاصة بهم بدون الحاجة إلى أن يكونوا خبراء في كل خدمة سحابية أساسية. الهدف هو تقليل الاحتكاك الفني مع الحفاظ على الاتساق والأمان. من خلال إنشاء مسار ذهبي موحّد، تضمن فرق المنصات أن يتمكّن مطوّرو التطبيقات من النشر بأمان وبسرعة، بينما يحافظ فريق المنصة على التحكّم في الحوكمة والتكلفة.
- واجهة سطر أوامر Gemini: هي واجهة سطر أوامر تتيح لك التفاعل مع نماذج Gemini مباشرةً من نافذة الأوامر على جهازك. على عكس برنامج الدردشة الآلي العادي المستند إلى الويب، تم تصميم واجهة سطر الأوامر لتكون ضمن بيئة التطوير، ما يسهّل دمج الذكاء الاصطناعي في سير العمل الحالي المستند إلى shell. تتيح لك هذه الواجهة توجيه الناتج من الأوامر الأخرى مباشرةً إلى النموذج وتنفيذ التعليمات بدون مغادرة بيئة نافذة الأوامر على جهازك.
- بروتوكول Model Context Protocol (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. هذه الواجهة مطلوبة لأي عمليات على مستوى المجموعة، بما في ذلك إنشاء المجموعات وتعديلها وحذفها.
- generativelanguage.googleapis.com: واجهة برمجة التطبيقات التي تتيح لـ Gemini CLI التواصل مع نماذج Gemini اللغوية الكبيرة لإنشاء النصوص والاستدلال.
- cloudresourcemanager.googleapis.com: هذه الواجهة مطلوبة لكي يتمكّن الوكيل من فحص البيانات الوصفية على مستوى المشروع والتحقّق من أرقام تعريف المشاريع وإدارة أذونات IAM.
- 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. تعمل هذه الإضافة كمكوّن إضافي يحدّد مجموعة معيّنة من الأدوات والوظائف، مثل "عرض قائمة المجموعات" أو "الحصول على سجلّات الوحدات"، التي يمكن للنموذج استدعاؤها عندما يحتاج إلى تنفيذ مهمة.
👈💻 شغِّل الأوامر التالية لتثبيت إضافة GKE وإعادة فتح Gemini CLI:
gemini extensions install https://github.com/GoogleCloudPlatform/gke-mcp.git
gemini
يمكنك التأكّد من تفعيلها بشكل صحيح من خلال إعادة إدخال Gemini CLI وكتابة:
/extensions
4- توفير البنية الأساسية
غالبًا ما يتضمّن توفير البنية الأساسية التقليدي الانتقال إلى مستندات معقّدة أو كتابة مئات الأسطر من رمز الضبط. باستخدام وكيل، يمكنك التركيز على وصف متطلباتك والسماح للذكاء الاصطناعي بالتعامل مع الترجمة الفنية إلى طلبات البيانات من واجهة برمجة التطبيقات الصحيحة. يوضّح هذا القسم كيفية استخدام الوكيل لكل من مرحلة التخطيط والإنشاء الفعلي لبيئة GKE.
التخطيط الفني والمقارنة
قبل إنشاء مجموعة، عليك اختيار بنية تناسب احتياجاتك. تقدّم GKE وضعَين رئيسيَين: الوضع العادي، حيث يمكنك التحكّم بشكل كامل في العُقد الأساسية، ووضع التشغيل التلقائي، حيث تدير Google العُقد وتدفع استنادًا إلى الموارد التي تطلبها وحداتك. لنُجرِّب طلب بحث بسيطًا لفهم الاختلافات بين الوضعَين وتحديد الوضع الذي يجب استخدامه لحالة استخدام معيّنة.
- 👉💬 الطلب:
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 CLI أنّ عملية النشر غير سليمة. بعد ذلك، ستستخدم الأدوات المتاحة لفحص الوحدات التي تعذّر تشغيلها. سيحدّد الوكيل خطأ الجلب، ويوضح أنّ العلامة غير صالحة، ويقترح عليك الرجوع إلى صورة جيدة معروفة.
الصيانة وتقييم المخاطر
تتضمّن صيانة المنصة البقاء على اطّلاع على عمليات الترقية والإيقاف. يمكنك أن تطلب من الوكيل العمل كمهندس موثوقية الموقع وتقييم سلامة مجموعتك وعمرها.
- 👉💬 الطلب:
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 باستخدام بروتوكول Model Context Protocol، ما يمنح نموذج الذكاء الاصطناعي إمكانية الاطّلاع مباشرةً على حالة مشروعك.
- البنية الأساسية: لقد استخدمت اللغة الطبيعية لتصميم مجموعة GKE وتوفيرها، ما يجنّبك الحاجة إلى تذكُّر علامات سطر الأوامر المعقّدة.
- التطوير: لقد أنشأت موارد 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 Architecture Center: إرشادات وأفضل الممارسات لإنشاء وحدات العمل على Google Cloud