مقدمه ای بر Helm چارت و مدیریت مانیفست های کوبرنیتز - بخش دوم

مقدمه ای بر Helm چارت و مدیریت مانیفست های کوبرنیتز - بخش دوم

لینک گیت هاب مرتبط با این مطالب که تمام دستورها رو قرار میدم و خوشحال میشم در صورتی که تمایل داشتین PR بفرستین که تکمیل بشه

حالا که Helm رو نصب کردیم آماده هستیم که اولین چارت خودمون رو بسازیم

helm create hello-world

با اجرای دستور create در دایرکتوری که قرار دارین و با اسمی که در ادامه اون تایپ میکنید (اینجا hello-world) دایرکتوری جدیدی ساخته میشه که ده فایل داخلش قرار گرفته که در ادامه توضیح میدیم هرکدوم چیه و کدوم هارو در ابتدا کاور میکنیم:

در ابتدا فایل هایی که قرار نیست الان ازشون استفاده کنیم و برای راحتی شروع به کار با Helm حذف میکنم:

rm -rf app/templates/tests/ app/charts/ app/templates/hpa.yaml app/templates/ingress.yaml app/templates/serviceaccount.yaml

حالا خیلی ساده‌تر شد از اولین فایل شروع میکنیم به اسم

Chart.yaml

داخل این فایل اطلاعات  کلی (متا) پکیج مثل اسم، توضیحات، ورژن ایمیج و ورژن چارت مشخص میشه

بهتره داخلش رو نگاه کنید و خودتون مقادیر دیفالت رو تغییر بدین

دومین فایلی که الان داخل روت چارت ما وجود داره

values.yaml

که همونطور که از اسمش مشخصه کل متغیر ها قرار هست اینجا مشخص بشه

نگران نباشید که کلی متغیر داخلش نوشته شده به صورت دیفایلت... میتونید دست نزنید یا کلش رو پاک کنید اختلالی ایجاد نمیکنه

حالا قبل اینکه با تمپلیتینگ Helm درگیر بشیم بیاید خروجی این چارت رو نگاه کنیم

helm template ./hello-world

# will lint and verify syntax
helm lint ./hello-world

با اجرای این دستور  template خروجی مانیفست رو میتونید ببنید

و اگر جایی رو تغییر دادین و میخواین مطمئن بشین که سینتکس خطا نداره و چارت valid هست با دستور lint میتونید مطمئن بشید که خطایی وجود نداره وگرنه بهتون اخطار میده که کجا خطا به وجود اومده

به صورت پیشفرض ایمیج nginx رو Helm بهتون داخل چارت میده و بدون نگرانی اگر کلاستر آماده ای دارین (اگر که نه پیشنهاد میدم Kind نصب کنید) و namespace مجزا داخل کلاستر تعریف کنید و چارت رو نصب کنید که متوجه بشید چقدر کار با Helm راحت هست

kubectl create namespace dev

helm install -f hello-world/values.yaml -n dev hello-world ./hello-world

helm ls -n dev

با اجرای دستور install مانیفست های رندر شده روی کلاستر apply میشن و لیست چارت های خودتون رو با دستور ls میتونید نگاه کنید

اگر خواستین صفحه پیشفرض nginx هم روی مروگر خودتون داشته باشین که مطمئن بشین درست دیپلوی شده میتونید پورت فروارد کنید که دستورش رو پایین‌تر گذاشتم که راحت باشین

kubectl get pods -n dev -o wide
kubectl --namespace dev port-forward $POD_NAME 8080:$CONTAINER_PORT
Why Do I See “Welcome to NGINX!” on My Favorite Website?

در ادامه باهم یکسری فلگ های install رو بررسی میکنیم که چطور شخصی سازی بیشتری روی چارت خودمون داشته باشیم و چند دستور جدید رو میبینیم

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