0Pricing
DevOps Bootcamp · درس

قالب Deployment بسيط

حوّل بيانًا ثابتًا إلى قالب Chart

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

من بيان ثابت إلى قالب

المخطط مجرد مجلد من القوالب. وكل قالب هو ملف بيان لـKubernetes يحتوي على عناصر نائبة يملؤها Helm وقت التثبيت.

ابدأ بـDeployment عادي

قبل إضافة أي سحر، اكتب ملف البيان الذي تعرفه مسبقًا. إليك Deployment ثابتًا يشغّل Pod واحدًا من nginx.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app

ضعه في templates

احفظ الملف باسم templates/deployment.yaml داخل مخططك. يُصيَّر كل ما يوجد في templates ويُرسل إلى العنقود.

اسم الإصدار ديناميكي

إن كتابة الاسم بشكل ثابت أمر هش. يوفّر Helm اسم الإصدار عبر .Release.Name، ولذلك يحصل كل تثبيت على هوية فريدة.

metadata:
  name: {{ .Release.Name }}

اجلب القيم من values.yaml

توجد الإعدادات التي قد يغيّرها المستخدمون في values.yaml، وتُقرأ عبر .Values. وهذا يجعل عدد النسخ المتماثلة قابلًا للضبط بدلًا من كونه ثابتًا.

spec:
  replicas: {{ .Values.replicaCount }}

حدّد القيمة الافتراضية

لكي يتم تقييم .Values.replicaCount، حدّد له قيمة افتراضية في values.yaml. ويمكن للمستخدمين تجاوزها لاحقًا من دون تعديل القوالب.

# values.yaml
replicaCount: 1

يجب أن تتطابق المحددات مع التسميات

يجب أن يتطابق selector في Deployment تمامًا مع تسميات قالب Pod، وإلا فسيرفضه Kubernetes. أعِد استخدام تسمية واحدة متسقة في كل المواضع.

selector:
  matchLabels:
    app: {{ .Release.Name }}

قسم قالب Pod

داخل spec.template تصف Pod الفعلية: تسمياتها والحاويات الموجودة فيها. هذا هو حمل العمل الذي سيرسله Helm إلى العنقود.

template:
  metadata:
    labels:
      app: {{ .Release.Name }}
  spec:
    containers: []

أضف الحاوية

تحتاج كل حاوية إلى name وimage. في الوقت الحالي تكون image محددة مباشرةً، وستحوّلها إلى قيمة قابلة للتهيئة في الدرس التالي.

containers:
  - name: app
    image: nginx:1.27

اعرض القالب للتحقق من عملك

شغّل helm template . لرؤية YAML النهائي الذي ينتجه Helm محليًا، من دون الحاجة إلى عنقود. اقرأه قبل التثبيت.

helm template my-release .

القالب الكامل الأدنى

تشكل هذه الأجزاء معًا قالب Deployment صغيرًا لكنه حقيقي: الاسم والتسميات مستمدان من الإصدار، وعدد النسخ مستمد من values.

spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ .Release.Name }}

تحقق سريع

أي كائن مضمّن يمنحك الاسم الفريد للإصدار المثبّت؟

مراجعة: قالبك الأول

حوّلت Deployment ثابتًا إلى قالب: يستخدم .Release.Name للهوية و.Values للإعدادات. استخدم helm template للعرض والتحقق. 🎉

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

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

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

ماذا ستتعلم في «قالب Deployment بسيط»؟

حوّل بيانًا ثابتًا إلى قالب Chart تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

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

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

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

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

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

  1. قالب Deployment بسيط
  2. تخصيص صورة الحاوية بالمعلمات
  3. إضافة قالب Service
  4. تثبيت Chart وتطويرها تكراريًا
← العودة إلى DevOps Bootcamp