🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

কুবারনেটস হেলম গাইড 2026: চার্ট, মান এবং উত্পাদন স্থাপনা

⏱️3 min read  ·  581 words

হেলম হলেন কুবারনেটসের প্যাকেজ ম্যানেজার। 2026 সালে, হেলম 3 ওসিআই সমর্থন, উন্নত লাইফসাইকেল হুক এবং বিশাল আর্টিফ্যাক্টহাব রিপোজিটরি এটিকে কুবারনেটস অ্যাপ্লিকেশন ইনস্টল, আপগ্রেড এবং পরিচালনা করার আদর্শ উপায় করে তোলে। এই গাইড আপনাকে প্রথম চার্ট থেকে প্রোডাকশন-গ্রেড হেলম স্থাপনায় নিয়ে যায়।

হেলম কেন?

  • প্যাকেজ ব্যবস্থাপনা– একটি কমান্ড দিয়ে জটিল অ্যাপস (PostgreSQL, Redis, Prometheus) ইনস্টল করুন
  • টেমপ্লেট— কুবারনেটস পুনঃব্যবহার ভেরিয়েবল সহ পরিবেশ জুড়ে প্রকাশ করে
  • রিলিজ ব্যবস্থাপনা– তাত্ক্ষণিকভাবে পূর্ববর্তী যেকোনো সংস্করণে রোলব্যাক করুন
  • নির্ভরতা ব্যবস্থাপনা— চার্ট নির্ভরতা ঘোষণা এবং পরিচালনা করুন
  • আর্টিফ্যাক্টহাবজনপ্রিয় অ্যাপ্লিকেশনের জন্য 10,000+ কমিউনিটি চার্ট

ইনস্টলেশন

# macOS
brew install helm

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

# Verify
helm version

# Add popular repositories
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

চার্ট ইনস্টল করা হচ্ছে

# Search for charts
helm search repo postgres
helm search hub nginx

# Install PostgreSQL
helm install my-postgres bitnami/postgresql   --namespace database   --create-namespace   --set auth.postgresPassword=secretpassword   --set primary.persistence.size=20Gi

# Install with custom values file
helm install my-app ./my-chart -f values.prod.yaml

# Check release status
helm list -n database
helm status my-postgres -n database

# Get notes after install
helm get notes my-postgres -n database

# Upgrade release
helm upgrade my-postgres bitnami/postgresql   --namespace database   --set auth.postgresPassword=newpassword

# Rollback
helm rollback my-postgres 1  # rollback to revision 1

# Uninstall
helm uninstall my-postgres -n database

আপনার প্রথম চার্ট তৈরি করা হচ্ছে

# Scaffold a new chart
helm create myapp

# Structure:
# myapp/
#   Chart.yaml          - chart metadata
#   values.yaml         - default values
#   templates/          - Kubernetes manifests (templated)
#     deployment.yaml
#     service.yaml
#     ingress.yaml
#     _helpers.tpl      - template helpers
#     NOTES.txt         - post-install notes
#   charts/             - dependency charts
#   .helmignore

চার্ট.ইয়ামল

apiVersion: v2
name: myapp
description: My production application
type: application
version: 0.1.0      # chart version (semver)
appVersion: "1.2.3"  # app version

dependencies:
  - name: postgresql
    version: "13.x.x"
    repository: https://charts.bitnami.com/bitnami
    condition: postgresql.enabled

  - name: redis
    version: "17.x.x"
    repository: https://charts.bitnami.com/bitnami
    condition: redis.enabled

values.yaml — কনফিগারেশন

replicaCount: 2

image:
  repository: mycompany/myapp
  tag: "1.2.3"
  pullPolicy: IfNotPresent

service:
  type: ClusterIP
  port: 8000

ingress:
  enabled: true
  className: nginx
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
  hosts:
    - host: myapp.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: myapp-tls
      hosts:
        - myapp.example.com

resources:
  limits:
    cpu: 500m
    memory: 512Mi
  requests:
    cpu: 100m
    memory: 128Mi

autoscaling:
  enabled: true
  minReplicas: 2
  maxReplicas: 10
  targetCPUUtilizationPercentage: 70

postgresql:
  enabled: true
  auth:
    database: myapp_db
    existingSecret: myapp-db-secret

redis:
  enabled: true
  architecture: standalone

টেমপ্লেট উদাহরণ

# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "myapp.fullname" . }}
  labels:
    {{- include "myapp.labels" . | nindent 4 }}
spec:
  {{- if not .Values.autoscaling.enabled }}
  replicas: {{ .Values.replicaCount }}
  {{- end }}
  selector:
    matchLabels:
      {{- include "myapp.selectorLabels" . | nindent 6 }}
  template:
    metadata:
      labels:
        {{- include "myapp.selectorLabels" . | nindent 8 }}
    spec:
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          ports:
            - containerPort: {{ .Values.service.port }}
          env:
            - name: DATABASE_URL
              valueFrom:
                secretKeyRef:
                  name: myapp-db-secret
                  key: database-url
            - name: APP_VERSION
              value: {{ .Chart.AppVersion | quote }}
          resources:
            {{- toYaml .Values.resources | nindent 12 }}
          livenessProbe:
            httpGet:
              path: /health
              port: {{ .Values.service.port }}
            initialDelaySeconds: 30
            periodSeconds: 10

একাধিক পরিবেশ

# values.dev.yaml — development overrides
# helm install myapp ./myapp -f values.yaml -f values.dev.yaml

# values.prod.yaml — production overrides
# helm install myapp ./myapp -f values.yaml -f values.prod.yaml

# values.prod.yaml
replicaCount: 5

image:
  tag: "1.2.3-stable"

resources:
  limits:
    cpu: 2000m
    memory: 2Gi
  requests:
    cpu: 500m
    memory: 512Mi

autoscaling:
  enabled: true
  minReplicas: 5
  maxReplicas: 50

সিআই/সিডিতে হেল্ম

# .github/workflows/deploy.yml
- name: Deploy with Helm
  run: |
    helm upgrade --install myapp ./charts/myapp       --namespace production       --create-namespace       --set image.tag=${{ github.sha }}       --set image.repository=ghcr.io/${{ github.repository }}       -f values.prod.yaml       --wait       --timeout 10m       --atomic  # rollback automatically on failure

দরকারী হেল্ম কমান্ড

# Lint chart before install
helm lint ./myapp

# Render templates without installing
helm template myapp ./myapp -f values.prod.yaml

# Diff current vs proposed changes
helm plugin install https://github.com/databus23/helm-diff
helm diff upgrade myapp ./myapp -f values.prod.yaml

# Show all values (defaults + overrides)
helm get values myapp -n production --all

# History
helm history myapp -n production

সাধারণ ডেমো ওয়ার্কলোডের বাইরে যেকোন কুবারনেটস স্থাপনার জন্য 2026 সালে হেলম অপরিহার্য। নির্ভরতার জন্য সম্প্রদায় চার্ট ইনস্টল করে শুরু করুন (PostgreSQL, Redis, Prometheus), তারপর অ্যাপ্লিকেশন স্থাপনার জন্য আপনার নিজস্ব চার্ট তৈরি করুন। টেমপ্লেটিং সিস্টেম একাধিক পরিবেশকে পরিচ্ছন্ন এবং পুনরুত্পাদনযোগ্য করে তোলে।

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা