PeakLab
Back to glossary

Helm

Package manager for Kubernetes that simplifies deployment and management of containerized applications through reusable charts.

Updated on January 28, 2026

Helm is the official package manager for Kubernetes, often compared to apt/yum for Linux or npm for Node.js. It enables defining, installing, and managing complex Kubernetes applications through packages called "charts", facilitating deployment reproducibility and standardization.

Fundamentals

  • Helm Charts: packages containing all necessary Kubernetes manifests to deploy an application
  • Client-server architecture (Helm 2) evolved to client-only architecture (Helm 3) for enhanced security
  • Templating: uses Go template engine to dynamically generate Kubernetes manifests
  • Releases: instances of a deployed chart in a cluster with version history for easy rollbacks

Benefits

  • Complexity reduction: single values.yaml file to customize dozens of Kubernetes resources
  • Reusability: share charts via public repositories (Artifact Hub) or private ones
  • Version management: complete deployment tracking with one-command rollback capability
  • Standardization: built-in conventions and best practices for structuring deployments
  • Rich ecosystem: thousands of ready-to-use charts for popular applications (PostgreSQL, Redis, Nginx, etc.)

Practical Example

Deploying a web application with database and custom configuration:

values.yaml
# Custom configuration
replicaCount: 3

image:
  repository: myapp/frontend
  tag: "2.1.0"
  pullPolicy: IfNotPresent

service:
  type: LoadBalancer
  port: 80

ingress:
  enabled: true
  className: nginx
  hosts:
    - host: myapp.example.com
      paths:
        - path: /
          pathType: Prefix

postgresql:
  enabled: true
  auth:
    database: myappdb
    username: appuser
  primary:
    persistence:
      size: 10Gi

resources:
  limits:
    cpu: 500m
    memory: 512Mi
  requests:
    cpu: 250m
    memory: 256Mi
deployment-commands.sh
# Install chart with custom configuration
helm install myapp-prod ./myapp-chart \
  --values values.yaml \
  --namespace production \
  --create-namespace

# Update an existing release
helm upgrade myapp-prod ./myapp-chart \
  --values values.yaml \
  --namespace production

# Rollback to previous version
helm rollback myapp-prod 1 --namespace production

# Check status
helm status myapp-prod --namespace production

# Deployment history
helm history myapp-prod --namespace production

Implementation

  1. Install Helm CLI on your development machine or CI/CD pipeline
  2. Create chart structure with 'helm create my-app' or use existing chart from Artifact Hub
  3. Customize values.yaml file with environment-specific parameters (dev, staging, prod)
  4. Define Kubernetes templates in templates/ folder using Go templating syntax
  5. Validate chart with 'helm lint' and test rendering with 'helm template'
  6. Package chart with 'helm package' for distribution or deploy directly with 'helm install'
  7. Configure private repositories (ChartMuseum, Harbor, Nexus) to manage internal charts
  8. Integrate Helm into CI/CD pipelines to automate multi-environment deployments

Pro Tip

Use Helmfile to manage multiple Helm releases declaratively and structure your multi-environment deployments. Combine Helm with tools like Kustomize to separate base configuration (charts) from environment-specific overlays, providing maximum flexibility while maintaining the DRY (Don't Repeat Yourself) principle.

  • Helmfile: declarative tool to manage multiple Helm releases
  • Helm Secrets: plugin to encrypt sensitive values with SOPS or Vault
  • ChartMuseum: repository server to host private Helm charts
  • Artifact Hub: public registry to discover and share Helm charts
  • Helm Diff: plugin to preview changes before an upgrade
  • Renovate/Dependabot: automation for chart version updates

Helm has established itself as the de facto standard for managing Kubernetes applications in enterprise environments. By packaging operational expertise as reusable charts, it significantly accelerates deployment cycles while reducing configuration errors. For organizations adopting Kubernetes, mastering Helm becomes essential to industrialize DevOps practices and ensure consistency across environments.

Related terms

Themoneyisalreadyonthetable.

In 1 hour, discover exactly how much you're losing and how to recover it.

Web development, automation & AI agency

contact@peaklab.fr
Newsletter

Get our tech and business tips delivered straight to your inbox.

Follow us
Crédit d'Impôt Innovation - PeakLab agréé CII

© PeakLab 2026