If you need a package manager to manifest your YAML files, then Helm would be on the top of your search list, due to its ability to solve the problem of creating multiple Kubernetes resources like pods, deployments, services and replicas. The Helm Client and Tiller(Helm Server) are its two Kubernetes components that go hand in hand to make changes within your Kubernetes cluster.
But why do we need Helm?
Considering a simple case of any deployment, we require at least three YAML files to configure them manually. But, Helm serves our purpose by creating a single package in the cluster which is called Helm Chart templates, that is tailored to the K8S-cluster to makes necessary changes.
Helm thrills the developers for various reasons.
Rich Work rate: Excites the developers to deploy their test environments with a simple command and its ability to run the same chart ones developed, reduces the complexity thus enlightening the mood of developers.
Ease of research: Developers would travel a smooth learning path because their thorough knowledge of the Kubernetes functionalities doesn't create much difference while implementing the container applications. Further, the provision of Helm that allows integrating CI/CD pipelines lets the developers focus more on the code rather than the production.
Simplicity: Offering easy deployment options through retracting the defaults of YAML file to fit in your requirements as a developer or user is done while installing your charts, which can be overridden if required.
Leverage your first Helm Chart
- Make sure that you have your latest configured copy of Kubernetes cluster and know your security requirements for Helm installation.
- Download Helm Client's binary release using homebrew or referring to official release pages.
- Initialise your chart repository (Quick tip: commence from official helm stable charts-values.yaml file) and make a quick check on your repo.
- Install a sample chart just by typing on the command helm install and update the Chart.yaml file.
- In case of requirements in your applications, define your dependencies on requirements.yaml file.
- Create your deployment file after deciding between whether you need a Deployment object or a StatefulSet object.
- Test your Helm chart using the command using helm lint command before installing it.
Roll-up your sleeves and check this link for more Kube commands! There! You're all set to explore now! 😎