How to Deploy Helm Chart

Introduction Deploying Helm charts is a critical skill for managing Kubernetes applications efficiently. Helm, often described as the package manager for Kubernetes, simplifies the complex process of deploying, configuring, and managing applications on Kubernetes clusters. This tutorial will guide you through the essentials of how to deploy Helm charts, helping you harness the power of Helm to str

Nov 17, 2025 - 11:02
Nov 17, 2025 - 11:02
 3

Introduction

Deploying Helm charts is a critical skill for managing Kubernetes applications efficiently. Helm, often described as the package manager for Kubernetes, simplifies the complex process of deploying, configuring, and managing applications on Kubernetes clusters. This tutorial will guide you through the essentials of how to deploy Helm charts, helping you harness the power of Helm to streamline your Kubernetes workflows.

Understanding how to deploy Helm charts enables developers and DevOps engineers to automate application deployment, upgrade, and rollback processes effectively. This not only reduces human error but also accelerates the release lifecycle for cloud-native applications.

Step-by-Step Guide

1. Prerequisites

Before deploying a Helm chart, ensure you have the following ready:

  • A working Kubernetes cluster (local or cloud-based)
  • Kubectl installed and configured to interact with your cluster
  • Helm CLI installed on your local machine
  • Basic knowledge of Kubernetes concepts

2. Install Helm CLI

Helm must be installed on your local system to manage charts. The installation varies by operating system:

  • macOS: Use Homebrew

    brew install helm

  • Linux: Download binary from the Helm GitHub releases page or use package managers like snap or apt
  • Windows: Use Chocolatey or download the binary directly

Verify the installation by running:

helm version

3. Add Helm Repositories

Helm charts are stored in repositories. You can use public repositories or private ones. To add the official stable Helm charts repository, run:

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

Update your repositories to get the latest charts:

helm repo update

4. Search for Charts

Find the chart suitable for your application. For example, to search for an NGINX chart:

helm search repo nginx

This lists available versions and charts containing "nginx".

5. Inspect Chart Details

Before deployment, inspect the charts default configuration and manifest templates.

Download the chart locally:

helm pull stable/nginx --untar

Explore the values.yaml file to understand configurable parameters.

6. Customize Configuration

Create a custom values.yaml file or override values directly during install to tailor the deployment to your needs. For example:

replicaCount: 3

Or override on the command line:

helm install my-nginx stable/nginx --set replicaCount=3

7. Deploy the Helm Chart

Use the helm install command to deploy the chart:

helm install [release-name] [chart-name] [options]

Example:

helm install my-nginx stable/nginx

This deploys the NGINX application under the release name my-nginx.

8. Verify Deployment

Check the status of your release:

helm status my-nginx

Use kubectl to check pods and services:

kubectl get pods

kubectl get svc

9. Upgrade the Release

To update your deployed application, modify the values.yaml or use the --set flag, then execute:

helm upgrade my-nginx stable/nginx --set replicaCount=5

This changes the number of replicas to 5.

10. Rollback if Needed

If an upgrade causes issues, rollback to a previous version:

helm rollback my-nginx [revision]

List revisions with:

helm history my-nginx

11. Uninstall the Release

To remove the deployed application and release metadata:

helm uninstall my-nginx

Best Practices

1. Use Version Pinning

Pin your Helm chart versions in your CI/CD pipelines to ensure consistent deployments and avoid unexpected changes from upstream chart updates.

2. Manage Secrets Securely

Avoid storing sensitive data in plain text inside values.yaml. Use Kubernetes secrets, external vaults, or Helm plugins like helm-secrets to handle secrets securely.

3. Validate Charts Before Deployment

Use commands like helm lint to validate charts locally before deploying to catch syntax and configuration errors early.

4. Automate Deployments

Integrate Helm deployments into CI/CD pipelines to automate testing, deployment, and rollback procedures for streamlined DevOps workflows.

5. Leverage Namespaces

Deploy Helm releases in specific Kubernetes namespaces to isolate applications and manage resources more effectively.

6. Keep Charts Up-to-Date

Regularly update your Helm charts to benefit from security patches, new features, and bug fixes from chart maintainers.

Tools and Resources

1. Helm Official Documentation

The primary resource for Helm commands, architecture, and best practices:

https://helm.sh/docs/

2. Artifact Hub

A centralized repository for discovering Helm charts across multiple repositories:

https://artifacthub.io/

3. Helm Plugins

Extend Helms functionality using plugins like helm-secrets or helm-diff for enhanced secret management and upgrade previews.

4. Kubernetes Official Documentation

Essential for understanding underlying Kubernetes concepts:

https://kubernetes.io/docs/home/

5. CI/CD Integration Tools

Popular tools integrating Helm:

  • Jenkins
  • GitLab CI/CD
  • GitHub Actions
  • Argo CD

Real Examples

Example 1: Deploying WordPress Using Helm

WordPress is a popular application often deployed on Kubernetes using Helm.

Steps:

  1. Add Bitnami repository:

    helm repo add bitnami https://charts.bitnami.com/bitnami

  2. Update repositories:

    helm repo update

  3. Install WordPress with custom values:

    helm install my-wordpress bitnami/wordpress --set wordpressUsername=admin,wordpressPassword=securepassword,mariadb.auth.rootPassword=rootpassword

  4. Verify pods and services:

    kubectl get pods

    kubectl get svc

Example 2: Deploying NGINX Ingress Controller

NGINX ingress controller manages external access to services in a Kubernetes cluster.

Steps:

  1. Add ingress-nginx repo:

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

  2. Update repos:

    helm repo update

  3. Install ingress controller:

    helm install ingress-nginx ingress-nginx/ingress-nginx

  4. Check deployment status:

    helm status ingress-nginx

FAQs

What is a Helm chart?

A Helm chart is a collection of files that describe a related set of Kubernetes resources. It packages all manifests and configurations required to deploy an application or service on Kubernetes.

Can Helm be used with any Kubernetes cluster?

Yes, Helm supports any conformant Kubernetes cluster, including local clusters like Minikube and cloud providers such as GKE, EKS, and AKS.

How do I rollback a Helm deployment?

Use the helm rollback [release-name] [revision] command to revert to a previous release revision if an upgrade causes issues.

Is it possible to customize Helm charts?

Absolutely. You can override default chart values by providing a custom values.yaml file or using the --set flag during installation or upgrade to tailor deployments.

How do I uninstall a Helm release?

Run helm uninstall [release-name] to delete the deployed resources and release information from Kubernetes.

Conclusion

Deploying Helm charts is an indispensable skill in the Kubernetes ecosystem, enabling efficient and repeatable application management. This tutorial covered the fundamental steps to deploy Helm charts, from installing Helm and adding repositories to customizing configurations, upgrading, and rolling back releases.

By following best practices and utilizing available tools and resources, you can optimize your Kubernetes deployments to be more reliable, secure, and maintainable. Whether you are deploying simple applications or complex microservices architectures, mastering Helm deployment empowers you to scale and manage cloud-native applications with confidence.