Everything you need to know about Helm - Part I

in Orchestration , Kubernetes

Everything you need to know about Helm - Part I

What is Helm? What are Helm tasks and components? What are Helm charts? How to install Helm?


    As we have seen, Kubernetes is a powerful and popular container-orchestration system. But as we’ve also seen, migrating to and setting up your applications on Kubernetes can be a complex, daunting task. Setting up a single application can involve creating multiple interdependent Kubernetes components – pods, services, deployments, and replicasets, and each component requires you to write a detailed YAML manifest file.

    Enter Helm. Just like apt for Ubuntu or yum and rpm for RedHat, Helm is a package manager for Kubernetes that allows you as a developer or an admin to more easily package, configure, and deploy applications and services into your Kubernetes clusters.

    Helm is now an official Kubernetes project and is part of the Cloud Native Computing Foundation, a non-profit, open-source software foundation that promotes the adoption of cloud-native computing.

    Helm Tasks and Components

    Like any good package manager, Helm does all the following tasks:

    • Fetches applications and software packages from repositories
    • Installs apps and packages in the Kubernetes cluster
    • Automatically installs those apps’ dependencies
    • Upgrades the apps and their dependencies

    Helm does all these using the following components:

    • Helm: a command line tool that offers a user interface to all Helm functionality.
    • Tiller (only in the previous version Helm2, now deprecated in Helm3): the server component that ran on the Kubernetes cluster. Tiller listened for commands from Helm then executed the configuration/ upgrade/ deployment tasks on the cluster. But from Helm3, all this functionality is now handled directly by the Helm tool.
    • Charts: the Helm packaging format. We will dig into Charts in more detail in the next section
    • Charts Repo: the official repo for Helm charts. It is located in

    Helm Installation

    Helm is available for the 3 major OS’s - Linux, Windows and MacOS. There are 2 different ways to install Helm. We will only list these 2 ways here, since they are explained in detail in the official documentation guide:

    1. From the Helm Project, either as a binary release or as a script.
    2. Using package managers such as apt for Ubuntu, Chocolatey for Windows, or Homebrew for MacOS

    That said, the most common installation method is via a package manager. The quick steps for installation on Ubuntu using apt are given below. The apt package for Helm can be found here, and the commands for installation are:

    curl | sudo apt-key add -
    sudo apt-get install apt-transport-https --yes
    echo "deb all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
    sudo apt-get update
    sudo apt-get install helm


    If you are using Kubernetes, you will certainly need the power of Helm when your project grows and when you’ll need to manage different configurations with rules and advanced features. This first part is the introduction to using Helm, as we introduced the tool and how to install it.

    In the second part (Everything you need to know about Helm - Part II), we are going to dive deep into more concepts like Helm versions and commands. We will also go through a sample installation and deployment of Nginx using Helm, so you can get an idea of how all these commands are used. We will use Ubuntu for this exercise and assume you already have Kubernetes and Helm3 installed.

    Get similar stories in your inbox weekly, for free

    Share this story:

    Founder and CEO of Cloudplex - We make Kubernetes easy for developers.


    Latest stories

    DevOps and Downed Systems: How to Prepare

    Downed systems can cost thousands of dollars in immediate losses and more in reputation damage …

    Cloud: AWS Improves the Trigger Functions for Amazon SQS

    The improved AWS feature allows users to trigger Lambda functions from an SQS queue.

    Google Takes Security up a Notch for CI/CD With ClusterFuzzLite

    Google makes fuzzing easier and faster with ClusterFuzzLite

    HashiCorp Announces Vault 1.9

    Vault 1.9 released into general availability with new features

    Azure Container Apps: This Is What You Need to Know

    HTTP-based autoscaling and scale to zero capability on a serverless platform