The package manager for Kubernetes — from raw manifests to repeatable, versioned deployments in minutes.
kubectl applyDeploying to Kubernetes typically means writing and maintaining many YAML manifests — Deployments, Services, ConfigMaps, Secrets, Ingresses, and more. As applications grow, this approach breaks down.
Helm 3 removed the server-side component (Tiller) that existed in Helm 2. It is now a client-only tool that talks directly to the Kubernetes API.
kubeconfig credentialskubectl get secrets -l owner=helm.Helm revolves around four core abstractions that work together to manage Kubernetes applications.
| Concept | What It Is | Analogy |
|---|---|---|
| Chart | A package of templated Kubernetes manifests | A .deb or .rpm package |
| Release | A running instance of a chart in a cluster | An installed package on a machine |
| Repository | A collection of charts available for download | An apt/yum repository |
| Values | Configuration parameters that customize a chart | A config file for the package |
mychart/
Chart.yaml # Metadata (name, version, description)
values.yaml # Default configuration values
templates/ # Kubernetes manifest templates
deployment.yaml
service.yaml
ingress.yaml
Artifact Hub is the central place to discover, install, and publish Kubernetes packages including Helm charts.
# Add the official Bitnami repository
helm repo add bitnami https://charts.bitnami.com/bitnami
# Update local repo index
helm repo update
# Search for charts
helm search repo nginx
# Search Artifact Hub directly
helm search hub wordpress
Installing a chart creates a release — a named, versioned instance of the application in your cluster.
# Install nginx with release name "my-nginx"
helm install my-nginx bitnami/nginx
# Install with custom values
helm install my-nginx bitnami/nginx --set service.type=ClusterIP
# Install with a values file
helm install my-nginx bitnami/nginx -f my-values.yaml
# Check release status
helm status my-nginx
# List all releases
helm list
Values are merged in this priority (highest wins):
--set flags on the command line-f values.yaml file(s)values.yamlA side-by-side comparison of managing the same application with raw manifests versus Helm.
| Operation | Raw kubectl | Helm |
|---|---|---|
| Deploy | kubectl apply -f ./manifests/ | helm install myapp ./mychart |
| Update | Edit YAML, kubectl apply again | helm upgrade myapp ./mychart |
| Rollback | Find old YAML, apply manually | helm rollback myapp 1 |
| Delete | kubectl delete -f ./manifests/ | helm uninstall myapp |
| Version history | None (unless GitOps) | helm history myapp |
| Multi-env config | Kustomize overlays or copy files | -f staging.yaml / -f prod.yaml |
helm template.