مخططات Helm وملفات Kubernetes التعريفية في CI/CD
احزم عمليات نشر Kubernetes وأصدرها باستخدام مخططات Helm، وأنشئ إعدادات مخصصة لكل بيئة بالقوالب، وأتمت إصدارات المخططات من GitHub Actions
مخططات Helm وملفات Kubernetes التعريفية في CI/CD درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
مشكلة انتشار ملفات البيان
يعني النشر إلى Kubernetes كتابة العديد من ملفات YAML للبيان: Deployments وServices وConfigMaps وIngresses. وسرعان ما يصبح نسخها لكل بيئة أمرًا يصعب إدارته.
تحل Helm هذه المشكلة عبر حزم ملفات البيان في مخطط قابل لإعادة الاستخدام ومُدار بالإصدارات.
ما هو Helm
إن Helm هو مدير الحزم الخاص بـ Kubernetes. أما المخطط فهو حزمة من ملفات البيان المستخدِمة للقوالب، بالإضافة إلى القيم الافتراضية.
Chart.yaml— بيانات المخطط وإصدارهvalues.yaml— الإعدادات الافتراضيةtemplates/— قوالب ملفات البيان
بنية المخطط
يبدو دليل المخطط النموذجي بهذا الشكل. وتعرض Helm القوالب باستخدام القيم لإنتاج ملفات YAML النهائية الخاصة بـ Kubernetes.
mychart/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yamlإنشاء القوالب باستخدام القيم
تستخدم القوالب عناصر نائبة تستمد قيمها من values.yaml. ويتيح ذلك لقالب واحد خدمة بيئات متعددة.
# templates/deployment.yaml
spec:
replicas: {{ .Values.replicaCount }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}قيم خاصة بكل بيئة
احتفظ بملف قيم منفصل لكل بيئة ومرّره وقت التثبيت. فقد تُشغّل بيئة Staging نسخة واحدة، بينما تُشغّل بيئة الإنتاج 5 نسخ.
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--namespace productionالتثبيت مقابل الترقية
يتمتع الأمر helm upgrade --install بخاصية idempotency: فهو يثبّت الإصدار إذا لم يكن موجودًا، أو يرقّيه إذا كان موجودًا.
ويُعد هذا الأمر الواحد مثاليًا لـ CI/CD لأنه يعمل عند عمليات النشر الأولى واللاحقة على حد سواء.
تعيين وسم الصورة في CI
تضخ عادةً في CI وسم الصورة المبنية حديثًا، وغالبًا ما يكون SHA للالتزام، باستخدام --set.
يربط ذلك إصدار Kubernetes بالعنصر البرمجي الدقيق الذي أنشأه خط الأنابيب للتو.
- run: |
helm upgrade --install myapp ./mychart \
--set image.tag=${{ github.sha }}فحص المخططات
قبل النشر، تحقّق من المخطط باستخدام helm lint واعرضه باستخدام helm template لاكتشاف أخطاء YAML أو أخطاء القوالب مبكرًا.
- run: helm lint ./mychart
- run: helm template myapp ./mychart -f values-prod.yamlعمليات التراجع باستخدام Helm
يتتبع Helm كل إصدار باعتباره مراجعة مرقّمة. وإذا فشلت عملية النشر، يمكنكم التراجع فورًا.
يتكامل ذلك جيدًا مع ممارسات التعافي من الكوارث، لأنه سريع وحتمي.
helm history myapp
helm rollback myapp 3الحزم والنشر
يمكن حزم المخططات في أرشيفات ذات إصدارات ودفعها إلى مستودع مخططات أو سجل OCI، تمامًا مثل صور الحاويات.
يتيح ذلك للفرق الأخرى استخدام مخططكم حسب الإصدار.
helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/chartsمهمة نشر باستخدام Helm
لتجميع الخطوات: صادقوا على الاتصال بالعنقود، وأعدّوا Helm، ثم نفّذوا الترقية. يثبّت إجراء setup-helm من Azure واجهة CLI على منفّذ التشغيل.
- uses: azure/setup-helm@v4
- run: |
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--set image.tag=${{ github.sha }} \
--waitتحقق سريع
اختبروا مدى فهمكم لـ Helm في CI/CD.
مراجعة
تعلّمتم نشر تطبيقات Kubernetes باستخدام Helm.
- تضمّن المخططات بيانات البيان المهيكلة بالقوالب بالإضافة إلى
values.yaml - تضبط ملفات القيم الخاصة بكل بيئة إعدادات التدريج مقابل الإنتاج
- يُعدّ
helm upgrade --installأمر النشر المتكرر الآمن في CI - تتيح المراجعات عمليات التراجع الفورية، ويمكن نشر المخططات مثل الصور
يحوّل Helm بيانات البيان الأولية إلى إصدارات ذات إصدارات قابلة لإعادة الاستخدام.
الأسئلة الشائعة
هل درس «مخططات Helm وملفات Kubernetes التعريفية في CI/CD» مجاني؟
نعم — نص درس «مخططات Helm وملفات Kubernetes التعريفية في CI/CD» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «مخططات Helm وملفات Kubernetes التعريفية في CI/CD»؟
احزم عمليات نشر Kubernetes وأصدرها باستخدام مخططات Helm، وأنشئ إعدادات مخصصة لكل بيئة بالقوالب، وأتمت إصدارات المخططات من GitHub Actions تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مخططات Helm وملفات Kubernetes التعريفية في CI/CD»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بناء صور Docker باستخدام Actions
- دفع الصور إلى السجلات
- النشر في Kubernetes باستخدام Actions
- مخططات Helm وملفات Kubernetes التعريفية في CI/CD