الخروج من حالات 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تتبّع عمليات العرض باستخدام --debug و--dry-run
- قراءة Manifests باستخدام helm get all
- الخروج من حالات pending-upgrade والتعطل
- بناء مخطط تطبيق إنتاجي من البداية إلى النهاية