برنامه نویسی

هنگام استقرار نمودار فرمان، درمان‌های موقتی را انجام دهید

هنگام استقرار نمودار فرمان، ممکن است بخواهید بتوانید چند درمان را قبل و/یا بعد از آن انجام دهید. سپس به استفاده از آن فکر می کنیم Job، اما اینها لزوما از نظر پیکربندی زمان اجرای آنها بهترین نیستند و حذف خودکار آنها بهینه نیست. (مراجعه کنید به https://dev.to/mxglt/supprimer-automatiquement-une-job-dans-kubernetes-3d5g).

بنابراین، اگر استفاده می کنید هلم، امروز چیزی را خواهیم دید که همه این نگرانی ها را حل می کند: قلاب.

قلاب چیست؟

THE قلاب مکانیزمی هستند که به شما امکان می دهند فرآیندهای خاصی را در زمان های خاصی در چرخه عمر نمودار اجرا کنید.

برای تعریف این درمان ها، حاشیه هایی را به a اضافه می کنیم Job Kubernetes که تعریف 3 چیز را ممکن می کند:

  • زمانی که کار باید اجرا شود
  • اولویت اوست (اگر چندین کار توسط یک قلاب ایجاد شود)
  • چگونه آن را حذف کنیم

زمانی که کار باید اجرا شود

این حاشیه نویسی است helm.sh/hook که به ما امکان می دهد تا لحظه(های) راه اندازی کار را تعریف کنیم. در حال حاضر، این قلاب های موجود است:

  • pre-install : پس از رندر کردن قالب ها، اما قبل از ایجاد منابع نمودار در خوشه Kubernetes اجرا شود (در حین به روز رسانی اجرا نمی شود)
  • post-install : پس از ایجاد تمام منابع در Kubernetes اجرا کنید (در حین به روز رسانی اجرا نمی شود)
  • pre-delete : قبل از حذف نمودار اجرا شود
  • post-delete : پس از حذف نمودار اجرا می شود
  • pre-upgrade : بعد از رندر کردن قالب ها، اما قبل از به روز رسانی منابع اجرا شود (در حین نصب اجرا نمی شود)
  • post-upgrade : پس از به روز رسانی منابع در Kubernetes اجرا شود (در حین نصب اجرا نمی شود)
  • pre-rollback : قبل از بازگشت به نسخه قبلی اجرا می شود
  • post-rollback : پس از بازگشت به نسخه قبلی اجرا شود
  • test : با دستور اجرا می شود تست سکان

با پانل امکاناتی مانند این، آسان می شود:

  • قبل از نصب اپراتور CRD ها را نصب کنید
  • پس از حذف یک اسکریپت پاکسازی را اجرا کنید
  • برای تغییر از نسخه A به B و بالعکس، تمام دستورات به صورت خودکار اجرا شوند.

مثال

annotations:
    "helm.sh/hook": post-install,post-upgrade
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اولویت

برای تعریف اولویت یک کار در تمام کارهایی که از طریق یک هوک راه اندازی شده اند، باید از حاشیه نویسی استفاده کنید. helm.sh/hook-weight. به عنوان مقدار، دادن یک عدد مثبت یا منفی کافی است، اما باید به عنوان یک رشته اعلام شود.

مثال

annotations:
    "helm.sh/hook-weight": "-5"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

روش حذف

پس از اتمام کار، می‌خواهیم بتوانیم آن را حذف کنیم. Helm به ما اجازه می دهد آن را با حاشیه نویسی تعریف کنیم helm.sh/hook-ddelete-policy.

3 مقدار ممکن است:

  • before-hook-creation : که نمونه قدیمی کار را قبل از شروع یک هوک جدید حذف می کند (به صورت پیش فرض)
  • hook-succeeded : اگر در حین اجرای هوک همه چیز به خوبی پیش رفت، کار را حذف می کند
  • hook-failed : در صورت بروز مشکل در حین اجرای هوک، چه کسی کار را حذف می کند.

مثال

annotations:
    "helm.sh/hook-delete-policy": hook-succeeded
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


در نتیجه، می توانید ببینید که Helm از طریق این قلاب ها اجازه می دهد تا لایه ای از پویایی را اضافه کند که می تواند در فرآیند خودکارسازی یک راه حل بسیار مفید باشد.


حق حبس


امیدوارم این بتواند به تو کمکی کند! 🍺

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا