Deploying with Helm
Helm packages Kubernetes manifests into reusable, configurable charts you can install in one command.
helm install <release> <chart> -f values.yamlHelm is the Kubernetes package manager. A chart bundles the manifests for an app, and values.yaml lets you customize each install without editing templates. Helm is the standard way to install both third-party add-ons and your own apps on EKS.
Why teams use Helm
- Install complex apps (ingress controllers, monitoring stacks) with one command.
- Override settings per environment through values files.
- Version, upgrade, and roll back releases cleanly.
Many EKS add-ons — including the AWS Load Balancer Controller and Karpenter — are distributed as Helm charts.
Example
# Add a repo, then install and upgrade a release
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install my-nginx bitnami/nginx --version 15.0.0 \
--set service.type=ClusterIP
# Upgrade with new values, or roll back
helm upgrade my-nginx bitnami/nginx -f values.yaml
helm rollback my-nginx 1When to use it
- A platform team packages a complex microservice with 12 Kubernetes manifests into a Helm chart so developers can deploy it with one command and override only the values they need.
- A DevOps engineer uses helm upgrade --install in CI/CD pipelines to idempotently deploy or upgrade an application on every merge to main.
- A release manager uses helm rollback to revert a failed production deployment to the previous chart version in under 30 seconds.
More examples
Add a Helm repo and install a chart
Adds the Bitnami chart repository, updates the index, and installs Redis into the 'cache' namespace with a single value override.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install my-redis bitnami/redis \
--namespace cache \
--create-namespace \
--set auth.password=supersecretUpgrade with custom values file
Upgrades or installs the api chart using a production values file, overriding just the image tag, and waits up to 5 minutes for pods to be ready.
helm upgrade --install my-api ./charts/api \
--namespace production \
--values values-prod.yaml \
--set image.tag=v2.1.0 \
--wait --timeout 5mRoll back a Helm release
Shows the release history, rolls back to revision 3, and checks the release status to confirm the rollback succeeded.
helm history my-api -n production
helm rollback my-api 3 -n production
helm status my-api -n production
Discussion