0Pricing
Kubernetes Basics · درس

نشر تطبيق بسيط

استخدم kubectl لنشر تطبيق أساسي في حاوية على عنقود Minikube لديك

نشر تطبيق بسيط درس مجاني في Kubernetes Basics على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kubernetes Basics، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kubernetes Basics 4 دروس في المجموع.

تطبيقك الأول على Kubernetes

مرحبًا بكم! في هذا الدرس، ستتخذون خطوة مهمة: نشر تطبيقكم الأول على عنقود Minikube.

سنستخدم أداة قوية لسطر الأوامر تُسمى kubectl لإدارة رحلة تطبيقكم من الشيفرة إلى خدمة قيد التشغيل.

نشر تطبيق بسيط — رسم توضيحي 1

مقدمة إلى Deployments

في Kubernetes، يُستخدم Deployment لإخبار العنقود بتشغيل تطبيقكم.

  • يدير مجموعة من النسخ المتطابقة للتطبيق (Pods).
  • يضمن بقاء عدد محدد من هذه النسخ قيد التشغيل دائمًا.
  • يمكنكم اعتباره مخططًا ومديرًا لنسخ تطبيقكم.

النشر باستخدام `kubectl`

أسهل طريقة لتشغيل تطبيق هي استخدام الأمر kubectl create deployment.

ما عليكم سوى منح Deployment اسمًا وتحديد صورة الحاوية التي تريدون تشغيلها. وسيتولى Kubernetes الباقي!

إنشاء Deployment الأول

لننشر خادم ويب Nginx بسيطًا. يخبر هذا الأمر Kubernetes بإنشاء Deployment باسم nginx-deployment باستخدام صورة Docker المسماة nginx.

kubectl create deployment nginx-deployment --image=nginx

شغّلوا هذا الأمر في الطرفية التي يعمل فيها Minikube.

التحقق من Deployment

بعد تشغيل الأمر، يبدأ Kubernetes بإنشاء الموارد اللازمة. يمكنكم التحقق من حالتها:

  • لعرض Deployment: kubectl get deployments
  • لعرض Pods التي أنشأها Deployment: kubectl get pods

ابحثوا عن nginx-deployment وعن Pods المرتبطة به!

أهمية Services

إن Pod الخاص بـ Nginx قيد التشغيل، لكن كيف يصل إليه المستخدمون؟

  • تملك Pods عناوين IP مؤقتة.
  • قد تتوقف Pods ويُستعاض عنها بغيرها، فتحصل على عناوين IP جديدة.
  • توفر Service نقطة نهاية شبكية مستقرة تعمل كبوابة إلى Pods.

وتضمن وصول حركة المرور دائمًا إلى Pod سليم، حتى إذا توقفت Pods أو أُنشئت أخرى.

إتاحة الوصول إلى تطبيقك

لإتاحة الوصول إلى Nginx، سننشئ Service باستخدام kubectl expose. وسنحدد اسم Deployment والمنفذ.

kubectl expose deployment nginx-deployment --type=NodePort --port=80

ينشئ هذا الأمر Service توجّه حركة المرور الخارجية إلى المنفذ 80 في Pods الخاصة بـ Nginx.

الوصول إلى تطبيقك محليًا

بعد أن أتاحت Service الوصول إلى Deployment الخاص بـ Nginx، يمكن أن يساعدكم Minikube في الوصول إليه.

شغّلوا الأمر التالي، وسيفتح Minikube نافذة متصفح لخادم الويب Nginx!

minikube service nginx-deployment

من المفترض أن تظهر لكم صفحة "Welcome to nginx!".

تنظيف العنقود

من الممارسات الجيدة تنظيف الموارد التي لم تعودوا بحاجة إليها. فهذا يحرر الموارد في عنقود Minikube.

  • لحذف Service: kubectl delete service nginx-deployment
  • لحذف Deployment (ويؤدي ذلك أيضًا إلى إزالة Pods الخاصة به): kubectl delete deployment nginx-deployment

احذفوا Service دائمًا أولًا، ثم Deployment.

اختبار سريع

لقد نشرتم تطبيقًا وأتحتم الوصول إليه بنجاح! ما تسلسل أوامر kubectl الذي ستستخدمونه لنشر تطبيق باسم my-app أولًا باستخدام صورة busybox، ثم إتاحته كخدمة من النوع NodePort على المنفذ 8080؟

مراجعة: تطبيقك قيد التشغيل!

تهانينا! لقد نشرتم تطبيقكم الأول على Kubernetes باستخدام Minikube، وأتحتم الوصول إليه ووصلتم إليه بنجاح.

  • استخدمنا kubectl create deployment لتشغيل الحاوية.
  • استخدمنا kubectl expose deployment لإتاحة الوصول إليها عبر Service.
  • وصلنا إليها باستخدام minikube service ونظفنا الموارد باستخدام kubectl delete.

أنتم الآن على بُعد خطوة أخرى من إتقان Kubernetes!

الأسئلة الشائعة

هل درس «نشر تطبيق بسيط» مجاني؟

نعم — نص درس «نشر تطبيق بسيط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kubernetes Basics، انتقل إلى CoddyKit PRO. تتضمن دورة Kubernetes Basics 4 دروس في المجموع.

ماذا ستتعلم في «نشر تطبيق بسيط»؟

استخدم kubectl لنشر تطبيق أساسي في حاوية على عنقود Minikube لديك تتمرن على Kubernetes Basics مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Kubernetes Basics؟

لا تُشترط خبرة سابقة. Kubernetes Basics على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «نشر تطبيق بسيط»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Kubernetes Basics هذا؟

نعم. كل درس في Kubernetes Basics يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تثبيت Minikube وإعداده
  2. kubeconfig والسياقات
  3. نشر تطبيق بسيط
  4. فحص العنقود واستكشاف أخطائه وإصلاحها
← العودة إلى Kubernetes Basics