كيفية الدخول إلى الجحيم بسبب هيلم ، ولكن امسك بالقشة

- محبو موسيقى الجاز المتعبون يقولون الحقيقة.

كلنا (أي أنا) نحب جر كل شيء جديد ورائع إلى الإنتاج من أجل استبدال بعض المشاكل بأخرى أخيرًا. هذه القصة مخصصة لنا (أي بالنسبة لي).

لفهم النص الإضافي ومسامحته ، ستحتاج إلى معرفة سطحية بكيفية العمل مع Kubernetes على مستوى المستخدم وبعض الشائعات حول Helm .

دعنا نجرد أولاً ، ثم دع شخصًا ما يتعامل مع هذا. تخيل للحظة أننا نوع من كولومبوس في عالم العصائر والدراجات البخارية الكهربائية و Kubernetes. شعبنا يزدحم في المرأة العجوز المكتظة بالسكان في أوروبا في إحدى ولاياتها الصغيرة التي لا نهاية لها ، وينشرون عمليات نشر باستخدام kronjob على أساس يومي لأزمة الطائرات الرباعية. لكن علماء الفلك وجدوا بالفعل تفسيراً للانحناء المريب للأفق. وهناك شعور بأننا الفان المختار في عصرنا. (ولكن لم يسأل أحد). وفي مكان ما ، خارج المحيط نصف الدائري - أقصر طريق إلى الهند! المساحات المفتوحة التي لا نهاية لها ، والتحرر من عبء الروتين والعديد من التوابل العطرة المجانية. ما عليك سوى جلب شعبنا هناك ، وأخيرًا ، تحريرهم! إن نشر المحيطات أمامنا أمر كثير للغاية حتى بالنسبة لروعة مثلنا. لذلك ، تحتاج إلى بناء السفن ، وحزم نشراتنا ، و kronjob والشياطين الأخرى ، ورفع الخدمات بدلاً من الأشرعة والتوجيه مباشرة إلى الضوء هناك. لتوجيه تحتاج إلى رأس ، أي هيلم. إنه خوذة. ستكون الخوذة مفيدة بالتأكيد ، إذا علمنا مسبقًا ما ينتظرنا في المستقبل. ولكن هناك فقط رأس. إن بناء السفن ليس سهلاً ، لذا نحتاج إلى المساعدة كما كانت ، ولكن شعبنا مشغول دائمًا بشيء غير مفيد للغاية. لذلك ، من الضروري ، كما كان ، وكما هو الحال دائمًا. نحن نبدأ ببطء ، نبني قاربًا صغيرًا ، ونجدف إلى الهند ، ونرى المساحات الشاسعة بأعيننا ، ونأخذ التوابل ، ونسبح مرة أخرى ، ونظهر للناس. الناس يحبونها ، يباركون جهودنا. ثم نقوم بإعداد نتيجة رائعة ، وترتيب التكوينات ، وبناء العديد من السفن بالفعل. الناس لطفاء ومهتمون. نظهر ، نقول ، ننير ، الوعد ، الوعد ، الوعد ... كلما زادت السفن - كلما زاد الاهتمام. شخص ما ينضم ، يساعد. حتى لا يقف كل هذا خاملًا ، فنحن نسبح في المرحلة القريبة ، ولا توجد بهارات حتى الآن ، ومن المستحيل العيش هناك ، لكن السياح يحبونه. والآن ، بعد أسابيع / أشهر / أفضل سنوات / أكمام ، وصل ، في ذلك اليوم الأكثر! حان الوقت لإطلاق قافلة السفن وقهر الأرض الخفية الثمينة. مع الخوف في الروح ، أبحر شعبنا إلى الهند ، وهناك ، أمريكا ، ذهبنا إلى الجنون. ويبدو كل شيء متشابهًا جدًا ، لكن هذا حدس ... بالطبع يتعرف شعبنا على الفور (هاها ، لا يهتمون على أي حال ، في الواقع) ، يبدأون في تطوير المنطقة ، المنازل هناك ، الملفوف ، يتم نشر جميع أنواع الخدمات. ولكن هنا وهناك ، يختفي شيء ما بشكل دوري ، كما لو كان عبر الأرض. سيختفي هذا الطابق ، لن يلد جوز الهند. ونغمس في همهمة متنامية " انتظر ، انتظر ، أنا لست جاهزًا بعد ، أعطني يومًا فقط ..." وهكذا نحن نتحرق بعناية ، وهناك ، أمام كل شجيرة ، يظهر الهنود فجأة مع توماهوكس ويبدون مثل ذلك ... بفظاظة أو شيء من هذا القبيل ... ويمر البرد مباشرة عبر العقدة الوسطى. والناس: - "ما هو هناك؟ أين طابقي؟ " ونحن: - "شعبي! ليس الأمر أنني ضللتك لمدة 40 عامًا ، ولن يدفنك أحد بالطبع ، ولكن الآن ، على وجه السرعة ، ***** ، نحن بحاجة إلى بناء تردد !!!!!!! " وهم: - "حسنًا ، بالطبع ، كما هو الحال دائمًا مرة أخرى."

هذا حول ما شعرت به عندما نقلت عددًا معينًا من الخدمات في الإنتاج من Kubernetes إلى Helm ، ثم واجهتها.

حسنًا ، في النهاية ، القشة الموفرة الموعودة. أولاً ، النسخة الخفيفة ، ولكن مع شرح الهراء أعلاه. هنا سيناريو تجريبي:

  1. لنفترض أنني أقوم بتوسيع الرسم البياني للمشروع: 1.5. لأول مرة مع هيلم ، وقبل ذلك كان مجرد Kubernetes.
  2. ثم اكتشفت أن هناك خطأ في الإصدار ، ولكن في الإصدار 1.4 لم يكن. ويجب أن نتراجع ، ولكن بالنسبة لها وهيلم لم يكن هناك مخطط أيضًا. لذلك ، قررت أن أفعل ذلك بالطريقة القديمة: kubectl set image deployment/project project=registry.project.com/project:1.4 --record . لهذا ولحزمة من الخدمات الأخرى التي تم نشرها معًا.
  3. ثم اتضح أن الخطأ ، كما هو ، لم يكن في هذه الخدمة ، ولكن في الخدمة المجاورة ، وكل شيء على ما يرام مع هذا ويجب عليك إرجاع 1.5. الآن ، إذا اتصلت helm upgrade --install ، helm upgrade --install مفاجأة كبيرة ( مزيد من التفاصيل ): ستظل الصورة من 1.4 ، والعلامات - من 1.5. ويظهر Helm أن كل شيء على ما يرام ، في الواقع هناك 1.5 تم نشرها وحتى تم إعادة تشغيل القرون (بناء CI أخضر).

كيف تتجنب ذلك؟ إذا قمت بإجراء أي تغيير على أي مورد K8s يتحكم به Helm باستخدام أوامر kubectl الخالصة أعلى مخطط Helm المنشور ، فيجب عليك أيضًا إلغاء هذه التغييرات باستخدام أوامر kubectl. يمكن لـ Helm نشر مخطط جديد. لكنه يقارن المخطط الجديد مع المخطط السابق ، ولكن ليس مع الحالة الحالية للموارد. وإذا قمت بتحرير الصورة ، فمن المحتمل أن تحتوي النسخة المستقبلية من المخطط على صورة أخرى وكل شيء سيكون على ما يرام. ولكن إذا قمت بتحرير متغير بيئة ، أو بدأت وسيطات ، أو أي شيء آخر ، فمن المرجح ألا يختلف الإصدار الجديد من المخطط عن الإصدار السابق. وستظل تغييراتك اليدوية سارية بعد التحديث.

وبالنسبة للمبتدئين ، نسخة ثقيلة من قش الادخار لأولئك الذين لا يستطيعون الموافقة على مثل هذه الحالة غير المتوقعة.

التقنيات الجديدة هي مصدر الأحزان الجديدة.

Source: https://habr.com/ru/post/ar426243/


All Articles