Installing an application in Kubernetes can require several related configuration files: one for its containers, another for networking, and more for settings or storage. Helm packages those files into a chart so you can install and update them together.
A chart contains templates and default settings. You supply a values file to change settings such as the number of application copies or the image version. Each installation is a release with its own name and configuration, so the same chart can be installed separately for a test environment and production.
Use Helm when a maintained chart saves you from managing repeated application configuration yourself. Still read what the chart creates: installing a package can grant permissions, expose a service or allocate persistent storage. The chart version identifies the package; its application version identifies the software inside. A new chart version does not necessarily mean a new application version.
Read before installing
Begin with the application's upstream installation documentation. Verify the chart publisher, required Kubernetes and Helm versions, image sources, default exposure, credentials and persistent storage. A popular chart can still have defaults unsuitable for your environment.
- Inspect the chart metadata, default values, dependencies and upgrade notes.
- Create a small values file containing deliberate overrides. Keep credentials outside a committed plaintext values file.
- Render and inspect the resources, including RBAC, Services, PVCs, hooks and CRDs. Rendering catches some errors but does not exercise Kubernetes admission or application startup.
- Install into a disposable namespace or cluster, observe readiness and test the application's real health behavior.
- Change one value and exercise an upgrade, then inspect release history and application behavior.
Choose one way to update the installation
Choose one owner for a release. An imperative CLI change can be reversed by a GitOps controller. If a chart installs an operator, the operator then reconciles application resources; removing the chart is not necessarily a complete application or data cleanup.
Rollback and uninstall
Returning to an earlier Helm revision restores rendered Kubernetes configuration according to Helm's behavior. It does not rewind a database schema or undo an external hook's side effect. Before uninstalling, inspect persistent volumes, reclaim policies and resources deliberately retained by the chart.
Helm 2-era Tiller instructions in the historical material are not a current setup recipe. Review Helm 4 adoption and OCI distribution when choosing your tooling. This introductory workflow is a learning plan; use a pinned, upstream-supported example and record its actual test result before using it in production.
Historical Kubedex content
Original publication: 2018-09-09T15:07:14+00:00. Preserved for context. Commands, versions, prices and results below reflect the original research.
Last Updated on May 10, 2019
Helm is the package manager for Kubernetes. It is the easiest way to install new applications on your Kubernetes cluster.
This website contains a complete directory of all charts available to install from the official repository. We have grouped them into categories to make browsing for new applications quick and easy.
But how do you actually install them? The first step is to install Helm on your laptop by following this guide.
Make sure you have kubectl working with a valid context pointing to an existing cluster, or local minikube installation, then simply run helm init and it will automatically configure everything required to start installing charts.
Behind the scenes running helm init will install the server side component called Tiller. This all happens magically so you shouldn’t need to do anything.
If you find an application that you’d like to install while browsing this site simply click the visit website button on the listing. You’ll generally find the install command that you can copy and paste into your terminal.
Using Helm in Production
All of the above is good for testing but you may want to investigate RBAC options when using in production.
Also if you are thinking about automating the installation of charts we’ve had some success using terraform-provider-helm.
Sources & further reading
Spotted something that needs another look?
Help improve this page →