CodeShot
Helm1 دقیقه مطالعه

Helm چیست؟

مدیر بسته (Package Manager) رسمی Kubernetes؛ اپلیکیشن‌های چند-منبعی (Deployment، Service، ConfigMap و ...) را به‌صورت یک بسته نسخه‌بندی‌شده به نام Chart بسته‌بندی و نصب می‌کند.

چرا مهم است؟

استقرار یک اپلیکیشن واقعی روی Kubernetes معمولاً به ده‌ها فایل YAML نیاز دارد؛ Helm این فایل‌ها را در یک بسته قابل‌نصب و پارامتریک جمع می‌کند تا مثل نصب یک پکیج NuGet/npm عمل کند.

تعریف

Chart واحد بسته‌بندی Helm است: مجموعه‌ای از Templateهای YAML به‌همراه یک فایل values.yaml برای مقداردهی پارامترها (تعداد Replica، نسخه Image، تنظیمات محیط و ...).

دستورات رایج

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-redis bitnami/redis --set auth.enabled=false
helm upgrade my-redis bitnami/redis --set replica.replicaCount=3
helm rollback my-redis 1
helm uninstall my-redis

ساختار یک Chart سفارشی

my-chart/
  Chart.yaml       # متادیتای Chart (نام، نسخه)
  values.yaml      # مقادیر پیش‌فرض قابل بازنویسی
  templates/
    deployment.yaml
    service.yaml

چرا Helm؟

  • نصب/حذف کل اپلیکیشن با یک دستور، به‌جای اعمال دستی چند فایل YAML
  • Rollback ساده به نسخه قبلی در صورت بروز مشکل
  • استفاده مجدد از Chart های آماده (Bitnami و ...) برای ابزارهایی مثل Redis، PostgreSQL، RabbitMQ

اشتباه رایج

❌ Hardcode کردن مقادیر محیطی (رمز عبور، آدرس دیتابیس) مستقیم داخل Template به‌جای values.yaml — باعث می‌شود همان Chart برای محیط‌های مختلف (Dev/Staging/Prod) قابل استفاده مجدد نباشد.

منبع و مطالعه بیشتر

خلاصه

Helm فایل‌های YAML یک اپلیکیشن Kubernetes را در یک Chart قابل‌نصب و پارامتریک بسته‌بندی می‌کند و امکان Rollback ساده می‌دهد. مقادیر محیطی را همیشه در values.yaml نگه دارید، نه داخل Template. مرجع کامل: مستندات رسمی Helm.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←