Why Helm Charts
Let’s say that you have deployed your application in the Kubernetes cluster and you want to deploy Elasticsearch additionally in your cluster that your application will use to collect its logs. To deploy Elastic Stick in your Kubernetes cluster, you will need a couple of components, like Statefulset, Configmap, Secret, a couple of services, etc. Creating all these files manually can be a tedious job, and since Elasticsearch deployment is pretty much standard across all clusters, other people will probably have to go through the same. That is where Helm charts come into the picture. The Helm chart is like a bundle of these YAML files packaged together and made available in a registry so that other people who also use the same kind of deployment could use them in their cluster.
Using Helm, you can create your Helm charts and push them to a Helm repository to make them available for others, or you can consume them, i.e., download and use existing Helm charts that other people have pushed and made available. Commonly used deployments like database applications, Elasticsearch, MongoDB, MySQL, or monitoring applications like Prometheus that all have a complex setup have Helm charts available in various Helm repositories. Hence, by using a simple Helm command, you can reuse the configuration that someone else has already made without additional effort.
How To Create Helm Chart From Scratch?
Helm is a popular Kubernetes native tool for automating the creation, packaging, configuration, and deployment of Kubernetes applications. It is used to combine all the configuration files that are needed for a cluster into a single reusable chart. A Helm chart is like a bundle of YAML files packaged together and made available in a registry so that other people who also use the same kind of deployment can use them in their cluster. In this article, we will see how to create a Helm chart from scratch for a complete React application.