Helm Key Concepts
- Helm CLI: The Helm CLI is a command-line tool that enables you to install, upgrade, and manage Kubernetes applications using Helm charts. It provides a set of commands for working with charts, releases, repositories, and more.
- Helm Charts: A collection of Kubernetes resources that can be quickly deployed and managed using Helm is known as a Helm chart. Templates, values, information, and other resources needed to launch an application are frequently included in charts.
- Charts repo: A Helm chart repository is a server that hosts a collection of Helm charts. Chart repositories can be public or private, and are accessed using the Helm CLI.
- Charts.yaml: The metadata file for a Helm chart is called charts.yaml. It includes details about the chart, including its name, version, description, and dependencies.
- Templates: Helm templates are files that define Kubernetes resources with placeholders for values that can be dynamically populated at runtime. Templates are typically written in the Go templating language and enable you to create reusable, configurable resources.
- Licenses: The conditions under which a Helm chart is distributed and used are often found in the license file for that chart.
- Readme.md: The readme.md file for a Helm chart offers instructions on how to install, configure, and use the chart.
- Requirements.yaml: The prerequisites for a Helm chart are specified in the requirements.yaml file. Together with their version and other metadata, it lists the charts that are necessary for the chart to function properly.
- values.yaml: The values.yaml file contains the default values for a Helm chart. These values can be overridden at runtime to customize the chart for a specific deployment or environment.
- Releases: A Helm release is a specific instance of a chart that has been deployed to a Kubernetes cluster. Each release has a unique name and version and can be managed and upgraded independently of other releases.
So, with Helm, you can find, share, and uses software built for Kubernetes. it helps you manage complex applications so all the complex applications require a lot of dependencies lot of yaml file writing and all can be managed by Helm. It makes the sharing of applications very simple by making the application in form of charts. Easily Updates the application and Rollbacks of the application are also very easy and you can install any Kubernetes application on the cluster.
- In Helm, the application is packaged as Charts.
- And It has a Template Folder and in the template folder, you get the Yaml Files, which get deployed to the cluster.
- It has the concept of values.yaml file with which you can customize and inject the values that you required for your particular needs like name, application version, image, and all these things can be templatized.
Helm – Kubernetes Package Manager and Installation in Local Machine
Pre-requisite: Helm, Kubernetes
Helm is a CNCF graduate project. It is a Kubernetes package manager that simplifies the process of deploying and running applications on a Kubernetes cluster. It provides an easy way to package Kubernetes applications in charts, which can be easily deployed, installed, and updated using the Helm CLI. Helm was first created in 2015 by Deis, a company that Microsoft eventually purchased. With a wide community of contributors and users that use it to manage their Kubernetes deployments, it has since grown to be one of the most well-liked tools in the Kubernetes ecosystem.