ویرگول
ورودثبت نام
احمد رفیعی
احمد رفیعیمشاور زیرساخت. موسس سایت آموزشی DockerMe.ir
احمد رفیعی
احمد رفیعی
خواندن ۱۳ دقیقه·۱۰ ماه پیش

پکیج‌ منیجر کوبرنتیز Helm (قسمت پانزدهم)

توی این قسمت میریم به سراغ هلم (Helm) که یکی از پراستفاده‌ترین و کاربردی‌ترین ابزارهایی هست که در کنار کوبرنتیز میاد و ازش برای راه‌اندازی برنامه‌های مختلف استفاده می‌کنند. کلا با استفاده از Helm به راحتی می‌تونیم ابزارها و سرویس‌‌هایی که می‌خواهیم رو روی کوبرنتیز راه‌اندازی و مدیریت کنیم.

Helm
Helm

خب یه مروری کنیم پست‌های قبلی رو:

  • دواپس چیه و چرا لازمه؟  اینجا در مورد دواپس و ضرورت استفاده از آن صحبت کردم.

  • چطور اپلیکیشن مناسب کلاد آماده کنیم؟ و اینجا توضیح دادم که چطور می‌تونیم یه اپلیکیشن مناسب کلاد توسعه بدیم.

  • چه عمقی از لینوکس برای دواپس لازمه؟ و اینجا توضیح دادم که کدوم موارد لینوکس برای دواپس الزامی هست که اول سراغ اون موارد بریم.

  • خودکارش کن,مشکلاتت حل میشه در اینجا در مورد اتومیشن و اینکه انسیبل چیه و چه کمکی به ما می‌کنه صحبت کردم.

  • در مسیر دواپس اینبار اجزای اصلی انسیبل تو این پست اجزای انسیبل رو معرفی کردم و آنها را شرح دادم.

  • در مسیر دواپس به داکر رسیدیم (قسمت اول) تو این پست داکر رو شروع کردیم و اونو معرفی کردیم.

  • در مسیر دواپس اینبار: پشت داکر چه خبره؟ (قسمت دوم) توی این پست در مورد تکنولوژی هایی که داکر ازشون استفاده میکنه توضیح دادیم.

  • تست نوشتن و شروع مسیر CI/CD (قسمت اول) توی این پست انواع تست رو بررسی کردیم و با ابزارهای CI/CD آشنا شدیم و یه مقایسه بین گیت‌لب و جنکینز داشتیم.

  • در مسیر CI/CD گیت رو بررسی می‌کنیم (قسمت دوم) توی این پست قبل ورود به گیت‌لب نیاز بود که گیت و ورژن کنترل سیستم ها رو یه بررسی کنیم.

  • در مسیر ‌CI/CD شناخت گیت‌لب (قسمت سوم) توی این پست اجزای گیت‌لب رو بررسی کردیم و با کامپوننت‌های مختلفی که داره بیشتر آشنا شدیم.

  • در مسیر ‌CI/CD پایپ‌لاین و رانر گیت‌لب (قسمت چهارم) توی این پست پایپ‌لاین و رانر گیت‌لب رو بررسی کردیم.

  • در مسیر CI/CD وریبل، گیت‌آپس و جمع‌بندی (قسمت پنجم) توی این پست وریبل‌های گیت‌لب رو بررسی کردیم و یه معرفی کوتاه از گیت‌آپس و آتودواپس کردیم و در انتها یه مقدار تجربه‌های خودم رو در گیت‌لب باهاتون به اشتراک گذاشتم.

  • در مسیر Observability، الک (قسمت دوم) توی این پست استک قدرتمند ELK رو بررسی کردیم.

  • در مسیر Observability، جمع بندی استک الک (قسمت سوم) توی این پست بقیه کامپوننت‌های استک الک رو بررسی کردیم و fluentd و fluentbit رو مقایسه کردیم و نهایتا یه معرفی هم روی opensearch داشتیم.

  • در مسیر Observability، استک پرومتئوس (قسمت چهارم) توی این پست یه معرفی اولیه داشتیم روی استک پرومتئوس.

  • در مسیر Observability، استک پرومتئوس (قسمت پنجم) توی این پست یه مقدار کامپوننت های استک پرومتئوس رو بیشتر بررسی کردیم.

  • در مسیر Observability، استک ویکتوریا (قسمت ششم) توی این پست استک ویکتوریا رو معرفی کردیم و سعی کردیم با پرومتئوس مقایسه‌اش کنیم.

  • در مسیر Observability، می‌می‌ر (قسمت هفتم) توی این پست در مورد ابزار میمیر از ابزارهای گرافانا توضیح دادیم و کاربردش رو بررسی کردیم.

  • در مسیر Observability، لوکی (قسمت هشتم) توی این پست در مورد ابزار گرافانا برای مدیریت لاگ یعنی لوکی توضیح دادیم و آخرشم یه معرفی کوتاه رو graylog داشتیم.

  • در مسیر Observability، تمپو (قسمت نهم) توی این پست در مورد تریسینگ توضیح دادیم و گرافانا تمپو رو بررسی کردیم و یه معرفی کوتاه روی Jaeger داشتیم

  • در مسیر Observability، گرافانا (قسمت دهم) توی این پست در مورد گرافانا و HA کردنش و همچنین یه سری از ابزارهاش مثل alloy , incident, on-call توضیح دادیم.

  • آغاز مسیر کوبر (قسمت اول) تو این قدم به معرفی ابزارهای ارکستریشن پرداختیم و مدارک کوبرنتیز رو بررسی کردیم.

  • کوبر سینگل ( قسمت دوم ) توی این قدم در مورد kubectl , kubeconfig توضیح دادیم و تعدادی ابزار رو معرفی کردیم که به کمک اونها میتونیم یک کوبرنتیز دمه‌دستی واسه تست‌هامون داشته باشیم.

  • کامپوننت‌های کوبر ( قسمت سوم ) توی این پست کامپوننت‌های مختلف کوبرنتیز رو بررسی کردیم و اجزای نودهای مستر و ورکر رو دونه دونه بررسی کردیم و توضیح دادیم.

  • پادها و مدیریت اونها در کوبرنتیز (قسمت چهارم) توی این پست در مورد پاد توی کوبرنتیز توضیح دادیم و موارد مربوط به اون رو بررسی کردیم.

  • ورک‌لودهای کوبر و مدیریت منابع کوبر (قسمت پنجم) توی این پست در مورد namespaceها توی کوبر توضیح دادیم و انواع ورک‌لود کوبر رو بررسی کردیم.

  • اگه لازم شد کوبر خودش گنده میشه‌! ( قسمت ششم ) توی این پست در مورد سه نوع ورک‌لود‌ مرتبط با scaling به صورت خودکار در کوبرنتیز توضیح دادیم.

  • نتورک کوبر (قسمت هفتم) توی این قسمت انواع سرویس توی کوبرنتیز رو بررسی کردیم و در مورد مفاهیم اینگرس و نتورک پالیسی توضیح دادیم.

  • استورج کوبرنتیز (قسمت هشتم) توی این قسمت در مورد انواع استورج توی کوبرنتیز توضیح دادیم و مفاهیم PV و PVC و Storage Class رو بررسی کردیم.

  • پراب، ریکوئست و لیمیت (قسمت نهم) توی این قسمت موارد مربوط به محدود کردن منابع کانتینر توی کوبرنتیز رو بررسی کردیم و در مورد انواع ‌probe ها توی کوبرنتیز توضیح دادیم.

  • پاد تو نود (قسمت دهم) توی این قسمت درمورد فرآیند انتقال پاد به نود مناسب مفاهیم پیشرفته‌تری مثل affinity و anti-affinity و taint و toleration رو بررسی کردیم.

  • اولویت پاد و امنیت (قسمت یازدهم) توی این قسمت در مورد تعیین اولویت برای پادها و جنبه‌های مختلف امنیت در کوبرنتیز توضیح دادیم.

  • کنترل دسترسی به کوبر (قسمت دوازدهم) توی این قسمت در مورد مراحل دسترسی به api کوبرنتیز صحبت کردیم و بعدش مفاهیمی مثل سرویس اکانت رو توضیح دادیم.

  • دیزاین کلاستر (قسمت سیزدهم) توی این قسمت در مورد طراحی و دیزاین یک کلاستر و روش‌های مختلفی که داره توضیح دادیم و همچنین تفاوت روش‌های مختلف تقسیم منابع در کلاسترها را بررسی کردیم.

  • مالتی تننسی در کوبر (قسمت چهاردهم) توی این قسمت چالش‌های مربوط به داشتن چند مستاجر بر روی کلاستر کوبرنتیز توضیح دادیم.

  • هلم (قسمت پانزدهم) توی این قسمت پکیج منیجر معروف کوبرنتیز یعنی Helm رو بررسی کردیم و در موردش ویژگی‌ها و کاربردهاش توضیح دادیم.

  • سی آر دی و اُپراتور (قسمت شانزدهم) توی این قسمت در مورد اینکه چطوری یه ریسورس کاستوم شده به کلاستر اضافه کنیم توضیح دادیم و مفهوم اُپراتور رو توی کوبر بررسی کردیم.

  • نصب کلاستر با kubeadm (قسمت هفدهم) توی این قسمت قدم به قدم نحوه نصب یک کلاستر کوبرنتیز رو با استفاده از ابزار kubeadm توضیح دادیم.

  • نصب کلاستر با kubespray (قسمت هجدهم) توی این قسمت نحوه نصب کلاستر با یه پروژه خیلی خوب به نام کیوب اسپری که یه انسیبل خفن برای ستاپ کلاستر رائه میده رو توضیح دادیم.

  • نصب کلاستر با rancher (قسمت نوزدهم) توی این قسمت توضیح دادیم که چطور با استفاده از ابزار RKE یک کلاستر کوبرنتیز راه‌اندازی کنیم.

توصیه می‌کنم که حتما این پست‌ها رو هم مطالعه کنید. بریم که ادامه بدیم.

Helm
Helm

هلم (Helm):

در دنیای پویا و مقیاس‌پذیر ارکستراسیون کانتینرها، Kubernetes به عنوان یک فناوری اساسی برای استقرار و مدیریت برنامه‌های کانتینری در مقیاس بزرگ ظهور کرده است. با این حال، مدیریت منابع Kubernetes با رشد اندازه و پیچیدگی برنامه‌ها می‌تواند چالش‌برانگیز شود. اینجاست که هلم (Helm)، مدیر بسته Kubernetes، با آوردن سادگی و کارایی به مدیریت برنامه‌های Kubernetes وارد عمل می‌شود. یکی از ویژگی‌های قدرتمند هلم، استفاده از چارت‌ها است. در این بخش به بررسی چارت‌های هلم، دلیل نیاز به آن‌ها در Kubernetes و نحوه استفاده موثر از آن‌ها می‌پردازیم.

ابزار Kubernetes به استاندارد اصلی برای ارکستراسیون و استقرار کانتینرها تبدیل شده است. با افزایش پیچیدگی برنامه‌های Kubernetes، مدیریت دستی آن‌ها می‌تواند به یک کار دشوار تبدیل شود. در اینجا، هلم (Helm)، یک مدیر بسته برای Kubernetes، وارد عمل می‌شود.

هلم (Helm) یک پکیج منیجر برای Kubernetes است که مدیریت، استقرار و به‌روزرسانی برنامه‌های اجراشده روی کلاستر Kubernetes شما را ساده‌تر می‌کند.

هلم به شما کمک می‌کند برنامه‌های Kubernetes را با ارائه روشی برای تعریف، نصب و به‌روزرسانی برنامه‌های پیچیده Kubernetes مدیریت کنید. اگر بخوام یه مثال بزنم که به ذهن نزدیک بشه می‌تونیم پکیج‌ منیجر لینوکس رو مثال بزنیم. شما با استفاده از پکیج منیجر می‌تونید سرچ، نصب، کانفیگ و دیلیت کنید هر پکیجی رو که می‌خواهید اینجا هم با استفاده از Helm می‌تونید در مورد اپلیکیشن‌ها و سرویس‌های خودتون به این صورت رفتار کنید.

Helm
Helm

در هسته‌ی اصلی، هلم از چارت‌ها استفاده می‌کند که بسته‌هایی از منابع از پیش پیکربندی‌شده Kubernetes هستند. این چارت‌ها برای تعریف، نصب و مدیریت برنامه‌های پیچیده Kubernetes استفاده می‌شوند.

چارت‌های هلم می‌توانند هر چیزی را از یک برنامه وب ساده تا یک سیستم توزیع‌شده پیچیده تعریف کنند.

هلم مدیریت برنامه‌های Kubernetes را با استفاده از چارت‌ها ساده می‌کند. چارت‌ها بسته‌هایی از منابع از پیش پیکربندی‌شده Kubernetes هستند. می‌توانید چارت‌های هلم را شبیه به قالب‌هایی برای برنامه‌های Kubernetes در نظر بگیرید که قابلیت سفارشی‌سازی بر اساس نیاز شما را دارند.

Helm Workflow
Helm Workflow

ساختار چارت هلم

  • مدیریت بسته‌ها: نصب، به‌روزرسانی و مدیریت برنامه‌های Kubernetes.

  • مدیریت نسخه‌ها: مدیریت نسخه‌های مختلف از برنامه‌ها.

  • مدیریت پیکربندی‌ها: سفارشی‌سازی برنامه‌ها با فایل‌های مقادیر (Values Files).

یک چارت هلم شامل چند فایل است که منابع Kubernetes را تعریف می‌کنند. این فایل‌ها شامل موارد زیر هستند:

  • Chart.yaml:

شامل متادیتا درباره‌ی چارت، مانند نام و نسخه آن.

  • values.yaml:

شامل مقادیر پیکربندی برای چارت. این مقادیر به ازای دیپلویمنت‌های مختلف می‌تواند متفاوت باشد که به ما این امکان رو می‌دهد که به راحتی سرویس‌ها و اپلیکیشن‌های خودمون رو در محیط‌های مختلف متفاوت راه‌اندازی و مدیریت کنیم.

  • templates/:

شامل قالب‌های منابع Kubernetes که برای ایجاد منابع واقعی در کلاستر استفاده می‌شوند. این مانیفست‌ها طوری ایجاد شدند که مقادیر آنها با استفاده از Value فایل‌ها تغییر می‌کنند.

Helm
Helm

چرا به چارت‌های هلم در Kubernetes نیاز داریم؟

ساده‌سازی فرایند استقرار

مانفیست‌های Kubernetes که در قالب YAML یا JSON نوشته می‌شوند، نحوه اجرای برنامه‌ها و تعامل آن‌ها با سایر سرویس‌ها را توصیف می‌کنند. با رشد برنامه‌ها، این مانفیست‌ها پیچیده‌تر و مدیریت آن‌ها دشوارتر می‌شود. چارت‌های هلم این پیچیدگی را با بسته‌بندی تمام جزئیات ضروری در یک بسته کاهش می‌دهند و استقرار را قابل مدیریت‌تر و کمتر مستعد خطا می‌کنند. به ما این امکان رو می‌دهند که بتونیم به صورت خودکار سرویس‌ها و اپلیکیشن‌هامون رو روی کلاستر پیاده‌سازی کنیم.

کنترل نسخه و بازگشت به نسخه قبلی

چارت‌های هلم از نسخه‌بندی پشتیبانی می‌کنند، که به توسعه‌دهندگان اجازه می‌دهد نسخه‌های مختلف استقرار برنامه‌ها و تغییرات پیکربندی را مدیریت کنند. این ویژگی امکان بازگشت آسان به نسخه‌های قبلی را در صورت بروز مشکل فراهم می‌کند و قابلیت اطمینان استقرار را افزایش می‌دهد. کلا قابلیت نسخه‌بندی خیلی به ما تو مدیریت سرویس‌ها و اپلیکیشن‌هامون کمک می‌کنه.

قابلیت استفاده مجدد و اشتراک‌گذاری

با استفاده از چارت‌های هلم، پیکربندی‌های استقرار برنامه‌ها می‌توانند در پروژه‌ها یا تیم‌های مختلف مجدداً استفاده شوند، که این امر بهبود بهترین روش‌ها و صرفه‌جویی در زمان را ممکن می‌سازد. همچنین چارت‌ها را می‌توان از طریق مخازن چارت هلم به اشتراک گذاشت و همکاری و کارایی را افزایش داد.

سفارشی‌سازی از طریق فایل values.yaml

چارت‌های هلم از یک فایل values.yaml استفاده می‌کنند که امکان سفارشی‌سازی آسان استقرار را بدون تغییر در خود چارت فراهم می‌سازد. به این ترتیب، می‌توان از یک چارت برای استقرار برنامه‌ها در محیط‌های مختلف (develop و test و production) تنها با تغییر مقادیر استفاده کرد.

Helm
Helm

ویژگی‌های هلم

استقرار سریع و آسان

با استفاده از چارت‌های هلم، می‌توانید به سرعت برنامه‌های پیچیده Kubernetes را مستقر کنید و خیلی خوب این کار رو تکرار، قابل انتقال و بهبود بدید.

مدیریت به‌روزرسانی‌ها و بازگشت‌ها

  • به‌روزرسانی یک برنامه به نسخه جدید تنها با به‌روزرسانی چارت و اجرای دستور helm upgrade امکان‌پذیر است.

  • اگر مشکلی پیش بیاید، می‌توانید به راحتی به نسخه قبلی با دستور helm rollback بازگردید.

سفارشی‌سازی بالا

  • می‌توانید مقادیر پیکربندی خود را در فایل values.yaml تعریف کنید.

  • همچنین می‌توانید این مقادیر را در زمان نصب با دستور helm install بازنویسی کنید.

مخزن چارت‌های از پیش ساخته‌شده

  • هلم دارای مخزن مرکزی از چارت‌های آماده است که می‌توانید از آن‌ها برای استقرار سریع برنامه‌های محبوب مانند WordPress، MySQL و Prometheus استفاده کنید. artifacthub.io جایی هست که مخزن پابلیک برای helm chart هاست و می‌تونید چارت‌های پابلیک رو از اونجا بردارید و استفاده کنید. البته معمولا شرکت‌ها و سازمان‌ها برای خودشون ریپوزیتوری helm به صورت خصوصی و عمومی دارند.

Helm
Helm

کار با هلم

گام ۱: نصب هلم

ابتدا باید هلم را روی سیستم خود نصب کنید. فایل‌های باینری هلم برای macOS، لینوکس و ویندوز در دسترس هستند.

روی macOS:

brew install helm

روی لینوکس:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

روی ویندوز:

فایل باینری هلم را از صفحه رسمی انتشارهای GitHub دانلود کرده و آن را به مسیر PATH خود اضافه کنید.

تأیید نصب:

helm version

گام ۲: اضافه کردن مخزن هلم

هلم از مخازن برای توزیع چارت‌ها استفاده می‌کند. مخزن پیش‌فرض هلم https://charts.helm.sh/stable است.

اضافه کردن مخزن Stable:

helm repo add stable https://charts.helm.sh/stable helm repo update

لیست مخازن موجود:

helm repo list

گام ۳: جستجو برای چارت‌های هلم

می‌توانید با استفاده از دستور helm search چارت‌های موجود در مخزن آرتی‌فک‌هاب را جستجو کنید.

مثال: جستجوی چارت MySQL:

helm search repo mysql

گام ۴: نصب یک چارت هلم

برای نصب یک چارت هلم از دستور helm install استفاده کنید. مثال:

helm install [RELEASE_NAME] [CHART_NAME]
  • [RELEASE_NAME]:

نام یکتایی که برای استقرار خود تعیین می‌کنید.

  • [CHART_NAME]:

نام چارت، می‌تواند از یک مخزن یا یک دایرکتوری محلی باشد.

مثال: نصب چارت MySQL:

helm install my-mysql stable/mysql

بررسی وضعیت انتشار:

helm status my-mysql

لیست تمام انتشارها:

helm list

گام ۵: سفارشی‌سازی چارت‌های هلم

هلم امکان سفارشی‌سازی چارت‌ها را با استفاده از فایل‌های مقادیر فراهم می‌کند. می‌توانید مقادیر پیش‌فرض یک چارت را تغییر دهید.

دریافت مقادیر پیش‌فرض:

helm show values stable/mysql > my-values.yaml

ویرایش فایل my-values.yaml برای سفارشی‌سازی تنظیمات.

نصب چارت با استفاده از فایل مقادیر سفارشی:

helm install my-mysql -f my-values.yaml stable/mysql

گام ۶: به‌روزرسانی انتشار

برای به‌روزرسانی یک انتشار، فایل مقادیر را تغییر داده و از دستور helm upgrade استفاده کنید.

مثال:

  1. ویرایش فایل my-values.yaml.

  2. به‌روزرسانی انتشار:

helm upgrade my-mysql -f my-values.yaml stable/mysql

گام ۷: حذف یک انتشار

برای حذف یک انتشار از دستور helm uninstall استفاده کنید.

مثال: حذف انتشار MySQL:

helm uninstall my-mysql

گام ۸: ایجاد چارت سفارشی هلم

برای ایجاد یک چارت سفارشی، از دستور helm create استفاده کنید. این دستور ساختار اولیه یک چارت را ایجاد می‌کند.

ایجاد چارت جدید:

helm create my-chart

ساختار ایجاد شده:

my-chart/ ├── Chart.yaml ├── values.yaml ├── charts/ ├── templates/ └── templates/tests/

اضافه کردن مانیفست‌های Kubernetes به پوشه templates/.

گام ۹: استقرار چارت سفارشی

بسته‌بندی چارت:

helm package my-chart

نصب چارت:

helm install my-release my-chart-0.1.0.tgz

گام ۱۰: هوک‌های هلم

هوک‌های هلم امکان اجرای کارها در نقاط مشخصی از چرخه عمر انتشار را فراهم می‌کنند. به عنوان مثال، می‌توانید یک Job پیش از نصب ایجاد کنید.

مثال هوک:

apiVersion: batch/v1 kind: Job metadata: name: "{{ .Release.Name }}-pre-install" labels: app: "{{ .Release.Name }}" annotations: "helm.sh/hook": pre-install spec: template: spec: containers: - name: pre-install-job image: busybox command: ['sh', '-c', 'echo Hello from the pre-install hook!'] restartPolicy: Never

هلم ابزاری قدرتمند است که مدیریت برنامه‌های Kubernetes را ساده می‌کند. با استفاده از چارت‌های هلم می‌توانید به راحتی برنامه‌ها را مستقر، مدیریت و به‌روزرسانی کنید. این راهنما اصول پایه‌ای هلم را پوشش داد و شما را برای استفاده از قابلیت‌های پیشرفته‌تر آن آماده می‌کند.

Helm Chart
Helm Chart


مثالی از یک چارت ساده هلم برای یک برنامه وب

۱. ایجاد چارت جدید

ابتدا یک دایرکتوری جدید برای چارت خود ایجاد کنید:

mkdir my-web-app-chart cd my-web-app-chart

۲. ایجاد فایل Chart.yaml

یک فایل به نام Chart.yaml ایجاد کنید و محتویات زیر را اضافه کنید:

apiVersion: v2 name: my-web-app description: A Helm chart for a simple web application version: 1.0.0

این فایل متادیتای پایه‌ای درباره‌ی چارت، مانند نام، توضیحات و نسخه آن را تعریف می‌کند.

۳. ایجاد فایل values.yaml

یک فایل به نام values.yaml با محتویات زیر ایجاد کنید:

replicaCount: 3 image: repository: my-web-app tag: latest pullPolicy: IfNotPresent service: name: my-web-app type: ClusterIP port: 80 ingress: enabled: false

این فایل مقادیر پیکربندی برای چارت را تعریف می‌کند، از جمله تعداد نسخه‌ها (replicas)، تصویر Docker و تنظیمات سرویس.

۴. تعریف Deployment

یک دایرکتوری به نام templates ایجاد کرده و یک فایل deployment.yaml در آن با محتویات زیر ایجاد کنید:

apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Chart.Name }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: app: {{ .Chart.Name }} template: metadata: labels: app: {{ .Chart.Name }} spec: containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http containerPort: 80

این فایل استقرار Kubernetes برای برنامه وب شما را تعریف می‌کند.

۵. تعریف Service

یک فایل دیگر به نام service.yaml در دایرکتوری templates ایجاد کنید و محتویات زیر را اضافه کنید:

apiVersion: v1 kind: Service metadata: name: {{ .Values.service.name }} spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port }} targetPort: http selector: app: {{ .Chart.Name }}

این فایل سرویس Kubernetes برای برنامه وب شما را تعریف می‌کند.

۶. بسته‌بندی چارت

چارت خود را با اجرای دستور زیر بسته‌بندی کنید:

bashCopy codehelm package .

این دستور فایل my-web-app-1.0.0.tgz را ایجاد می‌کند.

۷. نصب چارت

چارت را روی یک کلاستر Kubernetes با دستور زیر نصب کنید:

bashCopy codehelm install my-release my-web-app-1.0.0.tgz

توی این بلاگ پست سعی کردیم یه مقدار به Helm آشنا بشیم و ویژگی‌های اون رو بشناسیم و کار باهاش رو یاد بگیریم.

اگر هنوز از هلم استفاده نمی‌کنید، حتماً اونو امتحان کنید!

تو ادامه‌ی مسیرمون بیشتر با موارد مربوط به کوبرنتیز آشنا میشیم.

مراقب خودتون باشید. 🌹🐳🌹


با ما متخصص شوید.
با ما متخصص شوید.


خوبه که داکرمی رو تو جاهای مختلف فالو کنید. پذیرای نظرات شما هستیم.

🫀 Follow DockerMe 🫀

🔔 Follow YouTube 🔔

📣 Follow Instagram 📣

🖇 Follow LinkedIn DockerMe🖇

🔎 Follow Linkedin Ahmad Rafiee 🔎

🕊 Follow Twitter 🕊


کوبرنتیزkubernetes
۸
۰
احمد رفیعی
احمد رفیعی
مشاور زیرساخت. موسس سایت آموزشی DockerMe.ir
شاید از این پست‌ها خوشتان بیاید