Helm is the package manager for Kubernetes, allowing you to define, install, and upgrade even the most complex applications through reusable, versioned packages called charts. Rather than managing a collection of disconnected YAML manifests, Helm wraps them into a single chart with templating, default values, and lifecycle hooks. On RHEL 8 the installation is straightforward: a single shell script fetches the appropriate binary and places it on your PATH. This tutorial walks through installing Helm 3, managing chart repositories, deploying and upgrading releases, and creating your own chart from a scaffold.
Prerequisites
- A running Kubernetes cluster on RHEL 8 (kubeadm or k3s)
kubectlconfigured and able to reach the cluster (kubectl get nodesreturns Ready)- Root or sudo access on the RHEL 8 host
curlandbashavailable
Step 1 — Install Helm 3
The official installer script detects your OS and architecture, downloads the correct Helm binary, and installs it to /usr/local/bin.
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Verify the installation
helm version
Alternatively you can download a specific release tarball if you need a pinned version:
HELM_VER=v3.14.4
curl -LO https://get.helm.sh/helm-${HELM_VER}-linux-amd64.tar.gz
tar -zxvf helm-${HELM_VER}-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm version
Step 2 — Add Chart Repositories
Helm 3 ships with no default repositories. Add the Bitnami repository, which maintains a large collection of well-maintained production charts, and the stable community repository.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add stable https://charts.helm.sh/stable
# Download the latest chart metadata from all configured repos
helm repo update
# List configured repositories
helm repo list
Step 3 — Search and Inspect Charts
Use helm search repo to find charts by keyword and helm show to inspect chart metadata and default values before installing.
# Search the bitnami repo for nginx charts
helm search repo nginx
# Show default configurable values for the bitnami/nginx chart
helm show values bitnami/nginx
# Show chart metadata (description, version, etc.)
helm show chart bitnami/nginx
Step 4 — Install, List, and Upgrade a Release
Install a chart as a named release, inspect it with helm list, and upgrade it by passing override values on the command line or in a values file.
# Install nginx as a release named "myrelease"
helm install myrelease bitnami/nginx
--set service.type=NodePort
--namespace default
# List all deployed releases
helm list
# Check the Kubernetes resources created by the release
kubectl get all -l app.kubernetes.io/instance=myrelease
# Upgrade the release — change replica count
helm upgrade myrelease bitnami/nginx
--set replicaCount=2
--set service.type=NodePort
# Check rollout status
kubectl rollout status deployment/myrelease-nginx
Step 5 — Roll Back and Uninstall a Release
Helm stores a history of each release revision, making rollbacks straightforward.
# View release history
helm history myrelease
# Roll back to the previous revision (revision 1 in this example)
helm rollback myrelease 1
# Uninstall the release (removes all Kubernetes resources)
helm uninstall myrelease
# Confirm the resources are gone
kubectl get all -l app.kubernetes.io/instance=myrelease
Step 6 — Create and Deploy Your Own Helm Chart
The helm create command generates a chart scaffold with sensible defaults that you can customise. The generated chart deploys an nginx Deployment and Service by default.
# Generate a new chart scaffold
helm create mychart
# Inspect the generated structure
ls mychart/
# Render templates locally without installing (dry run)
helm template mychart ./mychart
# Install the chart from the local directory
helm install myapp ./mychart --set service.type=NodePort
# Verify the deployment
kubectl get pods
kubectl get svc
Conclusion
Helm dramatically reduces the operational overhead of managing Kubernetes applications by packaging manifests into versioned, configurable charts. On RHEL 8 the install path is minimal — a single script call — and you are immediately able to leverage thousands of community charts from the Bitnami and stable repositories. The built-in release history gives you a reliable rollback mechanism, and the chart scaffold generated by helm create gives you a clean starting point for packaging your own services. As you gain confidence, explore Helm hooks for pre- and post-install jobs, and chart testing with helm test.
Next steps: Deploy an application to Kubernetes on RHEL 8, Configure Kubernetes Persistent Volumes on RHEL 8, and Install k3s Lightweight Kubernetes on RHEL 8.