0Pricing
Helm Academy · درس

الخروج من حالات pending-upgrade والتعطل

استعادة إصدار عالق أثناء عملية تنفيذية

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

عندما يتعطل إصدار

إذا انقطع تحديث، فقد يعلق الإصدار في حالة pending-upgrade ويرفض كل عملية جديدة. لا داعي للهلع. 🛑

رصد الحالة

شغّلوا helm list، وسيعرض الإصدار العالق حالة مثل pending-upgrade أو pending-install بدلًا من الحالة السليمة deployed.

helm list --all --namespace web

سبب حدوث ذلك

تعني حالة pending أن Helm بدأ كتابة revision لكنه لم يكملها، وغالبًا ما يكون السبب إنهاء عملية أو انتهاء مهلة أثناء التحديث.

الإصلاح الأكثر أمانًا

يتمثل المخرج الأكثر أمانًا في التراجع إلى آخر revision سليم. يعيد helm rollback الإصدار إلى حالة معروفة وسليمة.

helm rollback my-app 0

اختيار الهدف

تحققوا أولًا من helm history لمعرفة آخر revision نُشر بنجاح، ثم نفّذوا التراجع إلى رقمه المحدد.

helm history my-app

التراجع إلى الصفر

يمثل تمرير revision 0 اختصارًا مفيدًا؛ إذ يخبر Helm بالتراجع إلى الإصدار السابق دون الحاجة إلى تحديد رقمه.

helm rollback my-app

تُخزَّن الإصدارات بوصفها Secrets

يحتفظ Helm 3 بكل revision في مورد Kubernetes من نوع Secret داخل namespace الخاص بالإصدار. وهذا السجل هو الذي يتتبع الحالة المعلّقة.

فحص السجلات

اعرض قائمة تلك الـ Secrets لرؤية سجل المراجعات مباشرةً. يحمل أحدثها حالة pending التي تمنعك من المتابعة.

kubectl get secret -l owner=helm,name=my-app -n web

التنظيف كحل أخير

إذا لم تُجدِ عملية rollback، فاحذف Secret المراجعة الفاشلة ذات الحالة pending. يعود Helm عندئذٍ إلى المراجعة السابقة باعتبارها الأحدث.

kubectl delete secret sh.helm.release.v1.my-app.v5 -n web

ثم أعد محاولة الترقية

بعد إزالة السجل العالق، شغّل helm upgrade مرة أخرى. ومع توفر حالة نظيفة، ستتم العملية بشكل طبيعي هذه المرة.

helm upgrade my-app ./my-app

امنع حدوثه في المرة القادمة

تؤدي إضافة --atomic إلى عمليات الترقية إلى تجنب الحالات العالقة تمامًا؛ إذ تتراجع العملية الفاشلة تلقائيًا بدلًا من أن تتركك عالقًا.

helm upgrade my-app ./my-app --atomic --timeout 5m

تحقق سريع

إصدار عالق في الحالة pending-upgrade. ما الإجراء الأول الأكثر أمانًا لاستعادته؟

خلاصة

يمكنك الآن إنقاذ الإصدارات العالقة: تعرّف على حالة pending، واستخدم helm rollback للعودة إلى مراجعة سليمة، أو احذف Secret الإصدار الفاشل. استخدم --atomic لمنع ذلك. 🚀

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

هل درس «الخروج من حالات pending-upgrade والتعطل» مجاني؟

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

ماذا ستتعلم في «الخروج من حالات pending-upgrade والتعطل»؟

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

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

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

كم من الوقت يستغرق درس «الخروج من حالات pending-upgrade والتعطل»؟

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

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

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

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

  1. تتبّع عمليات العرض باستخدام --debug و--dry-run
  2. قراءة Manifests باستخدام helm get all
  3. الخروج من حالات pending-upgrade والتعطل
  4. بناء مخطط تطبيق إنتاجي من البداية إلى النهاية
← العودة إلى Helm Academy