Back to Glossary
Operations

Helm

The Kubernetes package manager that bundles resource manifests into versioned, configurable charts installable with a single command.

What is Helm?

Helm is the de facto package manager for Kubernetes. A Helm chart is a collection of Kubernetes manifest templates, a values.yaml file defining configurable parameters, and metadata (Chart.yaml). Users install charts with helm install, providing custom values to override defaults, and Helm renders the templates to produce final Kubernetes manifests that it applies to the cluster. Helm tracks each installation as a release, storing release history in Kubernetes Secrets (or ConfigMaps in Helm 2) within the target namespace.

Helm's release lifecycle commands — helm install, helm upgrade, helm rollback, helm uninstall — manage the full lifecycle of a deployed application. Helm repositories (public ones like Artifact Hub, private ones in container registries like OCI registries or Chartmuseum) host packaged charts for sharing. The Bitnami, Prometheus Community, and Grafana chart repositories contain production-ready charts for common infrastructure components.

Helm templating uses Go templates with Helm-specific functions for rendering manifests. Conditional blocks ({{- if .Values.autoscaling.enabled }}), loops ({{- range .Values.ingress.hosts }}), and named templates ({{- include "chart.fullname" . }}) enable charts to support diverse configurations from a single template. Helm hooks (pre-install, post-upgrade, etc.) execute Jobs at specific points in the release lifecycle for database migrations and other ordered operations.

Example

# Add a chart repository
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

# Install a chart with custom values
helm install prometheus prometheus-community/kube-prometheus-stack \
  --namespace monitoring --create-namespace \
  --values my-values.yaml

# List all installed releases
helm list --all-namespaces

# Uninstall a release (does NOT delete PVCs by default)
helm uninstall prometheus -n monitoring

Cost & Waste Implications

helm uninstall deletes most resources created by a chart, but does not delete PersistentVolumeClaims (by design, to protect data). This is the most common source of orphaned PVCs — developers uninstall a database Helm chart and assume all resources are cleaned up, unaware that PVCs remain and continue billing. Failed or half-applied Helm releases can also leave stale Secrets and ConfigMaps.

KorPro— Kubernetes Cost Optimization

How KorPro Helps

KorPro correlates resource ownership with Helm release history, identifying resources left behind by deleted Helm releases — particularly PVCs, Secrets, and ConfigMaps that helm uninstall deliberately preserves.

Scan Your Cluster Free

Stop Wasting Money on Orphaned Kubernetes Resources

KorPro connects to your clusters across GCP, AWS, and Azure — no agents, no installation — and surfaces every orphaned resource with its monthly cost estimate.