FREE

Welcome to KubeCampus Course 6 – Introduction to Helm 

You have to complete/review all lessons in this course to receive your badge!

In this course, you will learn about how to use the Helm CLI, as well as how to deploy and upgrade applications on Kubernetes.
This lab is for those who want to understand how to use Helm, a tool to help you define, install, and upgrade applications running on Kubernetes.

Helm is a templating engine that creates Kubernetes manifests. It’s even more powerful because it can also upgrade and scale applications.

Topics covered in this lab include:

  • Understanding Helm
  • Using the Helm CLI
  • Searching Repositories
  • Installing Kubernetes Applications with Helm
  • Upgrading Releases with Helm

What is the structure of the lab?

The lab consists of two sections:.

  1. Kubernetes Helm theory
  2. Hands-on keyboard command line experience

The lab will take between 45 and 60 minutes, depending on your skill level and how many links you access for further research.  There are a total of 9 challenges to complete during this lab.

Important: On multiple-choice questions, note that more than one answer may be correct. The lab is timed, so it’s best to complete it in one sitting.

Helm Theory and Background

This section will cover topics and terminology for Helm. You will review material on-screen, then answer a challenge question. You must answer the question correctly to proceed to the hands-on section.

Understanding Helm

Helm is an open-source tool used for packaging and deploying applications on Kubernetes.

It is often referred to as the Kubernetes Package Manager because of its similarities to any other package manager you would find on your favorite OS.

Helm is widely used throughout the Kubernetes community and is a CNCF graduated project.

Given Helm’s similarities to traditional package managers, let’s begin exploring Helm by first reviewing how a package manager works.

Package managers are used to simplify the process of installing, upgrading, reverting, and removing a system’s applications. These applications are defined in units, called packages, which contain metadata around target software and its dependencies.

The process behind package managers is simple:

  • First, the user passes the name of a software package as an argument.
  • The package manager then performs a look up against a package repository to see whether that package exists. If it is found, the package manager installs the application defined by the package and its dependencies to the specified locations on the system.

Hands-on Commands Section

In the hands-on section of the lab, we will execute commands to perform several important tasks:

  • Installing the Helm CLI and its Commands
  • Utilizing and exploring chart repositories
  • Installing Kubernetes applications and updates
  • Upgrading Helm releases

After the “Installing Kubernetes Applications” and “Upgrading Helm Releases” sections, there will be an additional challenge question in order to confirm you have comprehended the corresponding material.

Topic 1: Installing the Helm CLI

Use this command to install the latest version of Helm on Linux:

Verify the installation by running the following command:

  • helm version --short

The current local state of Helm is kept in your environment in the home location:

helm env

The Helm command line tool defaults to discovering the current Kubernetes host by reading the same configuration that kubectl uses in ~/.kube/config.

When ready, click on the “Check” button to continue to ensure you have completed this part of the lab.

Topic 2: Adding and Searching Chart Repositories

A Helm chart is an individual package that can be installed into your Kubernetes cluster. During chart development, you will often just work with a chart that is stored on your local filesystem.

However, when it comes to sharing charts, Helm describes a standard format for indexing and sharing information about Helm charts.

A Helm chart repository is simply a set of files, reachable over the network, that conforms to the Helm specification for indexing packages.

Adding a Helm chart is done with the helm repo add command.

The easiest way to find the popular repositories is to use your web browser to navigate to the Artifact Hub. There you will find thousands of Helm charts, each hosted on an appropriate repository.

You can also use the command helm search repo REPOSITORY_NAME to search for a chart in an added repository.

Topic 3: Installing Kubernetes Applications

At a minimum, installing a chart in Helm requires two pieces of information:

  1. The name of the installation
  2. The chart you want to install

For example, use the command helm install RELEASE_NAME CHART to install a single instance of the chart.

Configuration at Installation Time
While the default configuration is good sometimes, you may want to pass your own configuration to the chart.

Many charts will allow you to provide configuration values. If you look at the Artifact Hub page for WordPress, you will see a long list of configurable parameters. For example, you can configure the username of the WordPress admin account by setting the wordpressUsername value.

You can use the --set flag, which takes one or more values directly to add individual parameters to an install or upgrade.

For example: helm install mysite bitnami/drupal --set wordpressUsername=admin

Topic 4: Upgrading an Installation

When we talk about upgrading in Helm, we talk about upgrading an installation, not a chart. An installation is a particular instance of a chart in your cluster. When you run Helm install, it creates the installation. To modify that installation, we use Helm upgrade.

This is an important distinction to make, because upgrading an installation can consist of two different kinds of changes:

  • You can upgrade the version of the chart
  • You can upgrade the configuration of the installation

The two are not mutually exclusive; you can do both at the same time. But this does introduce one new term that Helm users refer to when talking about their systems – a release.

A release is a particular combination of the configuration and chart version for an installation.

When you first install a chart, you create the initial release of an installation (release 1). When you perform an upgrade, you create a new release of the same installation (release 2). When you upgrade again, you create release 3, and so on.

Is There Pre-work for the Course?
Yes. Be sure to read and study this blog post, watch the video showing the work to be performed, and view the accompanying slides that form part of each course.

How Do I Access Course 6?
Go to Kubecampus.io and navigate the “Courses” tab to start. All the best. Enjoy!

Note: Additional Learning
To extend your learning experience, Kasten offers a variety of resources such as white papers, case studies, data sheets and eBooks on Kubernetes backup.

Ready to start?

Take the skill level self-assessment quiz

Share

Welcome to the KubeCampus Learning Community!

Learning.Kasten.io has now relaunched and re-branded as KubeCampus.io​

For technical support with KubeCampus.io please email [email protected].

Connect with other users and Kasten support on Kasten’s Learning Slack Channel.

Download
Kasten K10 free now

Kasten K10