Table of Contents
Introduction
If you are managing a Kubernetes cluster on AWS (EKS), you likely already know that Helm is non-negotiable. Often called the “apt-get” or “yum” for Kubernetes, Helm allows you to define, install, and upgrade even the most complex Kubernetes applications with a single command.
However, if you have recently migrated to Amazon Linux 2023 (AL2023), you might have noticed that some of your old setup scripts for Amazon Linux 2 don’t behave as expected. AL2023 is a modern, Fedora-based OS that minimizes the default package footprint to improve security and performance.
In this guide, I will show you exactly how to install Helm 3.
Prerequisites
Before we install Helm, ensure your environment is ready. Amazon Linux 2023 is minimal by default, so we need to verify that certain tools are present.
- An Amazon Linux 2023 EC2 Instance (running and accessible).
kubectlinstalled: Helm relies onkubectlconfiguration to communicate with your cluster.opensslandtarThese are usually pre-installed, but are essential for the installation script.
Method 1: The “Quick Script” Installation (Recommended)
The easiest way to get the absolute latest version of Helm 3 on Amazon Linux 2023 is to use the official installation script. This script automatically detects your architecture (x86_64 or ARM64) and handles the binary placement.
- Download the script:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
Set permission to execute:
chmod 700 get_helm.sh
Run the script:
./get_helm.sh
Output you should see:
Downloading https://get.helm.sh/helm-v3.x.x-linux-amd64.tar.gz
Verifying checksum... Done.
Preparing to install helm into /usr/local/bin helm installed into /usr/local/bin/helm
Method 2: Manual Binary Installation (For Specific Versions)
If you need a specific version of Helm (e.g., for compatibility with an older EKS cluster) or want to avoid piping scripts to bash, use the manual binary method.
- Download your desired version (Replace
v3.13.0with your target version):
wget https://get.helm.sh/helm-v3.13.0-linux-amd64.tar.gz
- Unpack the tar file:
tar -zxvf helm-v3.13.0-linux-amd64.tar.gz
- Move the binary to your path: Amazon Linux 2023 includes
/usr/local/binin the path by default, making this the best location.
sudo mv linux-amd64/helm /usr/local/bin/helm
Verifying the Installation
Once installed, verify that Helm is correctly set up and can communicate with your cluster.
- Check the version:
helm versionYou should see a JSON output containingVersion:"v3.x.x". - Validate Cluster Connection: Helm commands generally require a valid
~/.kube/config. Run a list command to check if it can see your current releases (even if empty):helm listIf this returns an empty list (header only) or your current releases without an error, you are good to go.
Post-Installation: Adding Repositories
Helm does not come with pre-configured repositories. To start installing charts (packages), you need to add sources.
Add the popular Bitnami repo:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Search for a package (e.g., Nginx):
helm search repo bitnami/nginx
Troubleshooting on Amazon Linux 2023
Issue: “helm: command not found”
If you installed via binary but cannot run the command, your $PATH might be missing /usr/local/bin.
- Fix: Run
echo $PATHto verify. If missing, export it manually or move the binary to/usr/bin/helm
sudo mv /usr/local/bin/helm /usr/bin/helm
Issue: “Kubernetes cluster unreachable”
Helm 3 no longer uses Tiller (the server-side component), so connectivity issues are almost always related to your kubectl config.
- Fix: Ensure you have updated your kubeconfig for EKS
aws eks update-kubeconfig --region us-east-1 --name your-cluster-name
Conclusion
You now have a fully operational Helm 3 installation on your Amazon Linux 2023 instance.
By moving away from older installation methods and using the official binary or script, you ensure that your CD/CI pipelines are running the most secure and up-to-date tooling available. Whether you are deploying a simple Nginx ingress or a complex microservices architecture on EKS, Helm is the tool that will make your life significantly easier.
What’s Next? Now that Helm is ready, your next logical step is to set up an Ingress Controller. If you are running this on AWS, check out my guide on Setting up the AWS Load Balancer Controller to expose your services to the internet efficiently.
Frequently Asked Questions (FAQ)
1. Can I install Helm sudo dnf install helm on Amazon Linux 2023?
Currently, the default Amazon Linux 2023 repositories do not always carry the latest version of Helm. While you might find a package in the future, using the official installer script (Method 1) is the industry standard practice. It guarantees you get the latest stable release of Helm 3 rather than a potentially outdated OS-packaged version.
2. Do I need to install Tiller?
No. If you are reading older tutorials that mention “Tiller,” they refer to Helm 2. We are installing Helm 3, which is “client-only” and communicates directly with the Kubernetes API using your kubectl credentials. It is much more secure and does not require a server-side component.
3. Where is the Helm binary located after installation?
If you used the script method, Helm is typically installed to /usr/local/bin/helm. You can confirm the exact location by running:
which helm
If you get a “command not found” error, you likely need to add /usr/local/bin to your $PATH or move the binary to /usr/bin.
4. Does this guide work for ARM64 (Graviton) instances?
Yes! The installation script in Method 1 automatically detects your system architecture. If you are using AWS Graviton (t4g, m6g, etc.) instances running Amazon Linux 2023, the script will automatically download the linux-arm64 binary for you.
