✦ For everyone, free.

Practical knowledge for real and everyday life

Home

Helm Installation

Helm Installation is the process of setting up Helm, a package manager for Kubernetes, to manage and deploy applications efficiently.

Helm Installation refers to the process of setting up Helm, a package manager for Kubernetes, on a client machine and optionally configuring it for interaction with a Kubernetes cluster. This installation enables users to manage Kubernetes applications using Helm charts, which simplify deployment, configuration, and lifecycle management of complex Kubernetes resources.


Prerequisites for Helm Installation

Before installing Helm, certain prerequisites must be met to ensure a smooth setup and operation:

Kubernetes Cluster

A functional Kubernetes cluster is required because Helm interacts directly with Kubernetes APIs. The cluster can be a local setup (e.g., Minikube, Kind) or a cloud-managed Kubernetes service (e.g., Google Kubernetes Engine, Amazon EKS, Azure AKS).

Client System Requirements

Helm is a command-line tool that runs on Linux, macOS, and Windows. The client machine should have:

  • A supported operating system.
  • A shell environment (bash, zsh, PowerShell).
  • kubectl installed and configured to communicate with the Kubernetes cluster.

Network Connectivity

The client machine must have network access to the Kubernetes API server. Additionally, if Helm repositories are to be added from remote sources, internet access is required.


Installation Methods

Helm can be installed through various methods depending on the operating system and user preference.

Installing Helm on Linux and macOS

The simplest methods include:

  • Using Script Installer: A script provided by Helm that downloads and installs the latest Helm binary.
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
  • Using Package Managers:

    • On macOS with Homebrew:
    brew install helm
    
    • On Linux with Snap:
    sudo snap install helm --classic
    
    • On Debian/Ubuntu with apt via Helm's official repository:
    curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
    sudo apt-get install apt-transport-https --yes
    echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
    sudo apt-get update
    sudo apt-get install helm
    

Installing Helm on Windows

  • Using Chocolatey:
choco install kubernetes-helm
  • Using Scoop:
scoop install helm
  • Manual Installation:

Downloading the binary release from the official Helm GitHub releases page and adding it to the system PATH.


Verifying Helm Installation

After installation, verify Helm is correctly installed and operational by checking its version and environment:

helm version

This command returns the Helm client version and, if connected, the server version (Tiller is no longer used in Helm 3, so only the client version appears).

Additionally, confirm Helm can interact with the Kubernetes cluster:

helm repo list
kubectl get nodes

Initial Configuration Post Installation

Adding Helm Repositories

Helm charts are stored in repositories. After installation, add official or custom repositories:

helm repo add stable https://charts.helm.sh/stable
helm repo update

Setting up Helm Home Directory

Helm stores configuration and cache data in the user's home directory under .config/helm and .cache/helm. This setup happens automatically during usage but can be customized via environment variables like HELM_HOME.


Upgrading and Uninstalling Helm

Upgrading Helm

To update Helm to the latest version, use the same installation method or package manager with an upgrade command, for example:

brew upgrade helm

or re-run the installation script.

Uninstalling Helm

Removal depends on the installation method:

  • For script-based installation, delete the Helm binary from the system PATH.
  • For package managers, use uninstall commands like:
brew uninstall helm
choco uninstall kubernetes-helm

No additional cleanup is needed as Helm 3 does not deploy server components on the cluster.


Security Considerations

  • Always verify Helm binary signatures or checksums when downloading manually.
  • Use HTTPS for repository URLs to prevent tampering.
  • Restrict kubectl and Helm access with Kubernetes Role-Based Access Control (RBAC).
  • Avoid running Helm commands with elevated privileges unless necessary.

Summary of Commands for Quick Reference

TaskCommand Example
Install Helm (macOS)brew install helm
Install Helm (Linux)curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Verify Installationhelm version
Add Repositoryhelm repo add stable https://charts.helm.sh/stable
Update Repositorieshelm repo update
Uninstall Helmbrew uninstall helm or remove binary manually

This detailed explanation of Helm Installation covers the definition, prerequisites, installation methods across platforms, verification, initial configuration, upgrade and removal procedures, as well as security best practices.