-
Notifications
You must be signed in to change notification settings - Fork 0
Kubernetes ‐ Complete Guide | Helm Chart | BlueGreen Deployment
read
Helm is a template engine, it is operated by a third party.
With Helm, you can define, install, and upgrade complex Kubernetes applications using a single command rather than manually creating and managing all the necessary Kubernetes objects yourself. Helm accomplishes this by providing a templating engine that allows you to define the components of your application as Helm charts, which can then be easily installed and managed. Helm charts can also be shared and reused, making it easier to distribute and collaborate on complex Kubernetes applications.
Helm Charts are packages of pre-configured Kubernetes resources. A Helm Chart contains all the necessary information to deploy a specific application or service, including the Kubernetes manifests, environment variables, and other configuration settings.
A chart is organized as a collection of files inside a directory. The directory name is the chart’s name (without versioning information). For example, as shown on the Helm documentation, a chart describing WordPress would be stored in a wordpress/ directory with a structure that matches the image below.
In the above image, Helm reserves the use of the charts/, crds/, and templates/ directories.
The Chart.yaml file is required for a chart and contains the following fields as in the image below.
When a templating engine used you
- create a boilerplate example of your file. From there you abstract away contents with known filters and within these abstractions you provide references to variables.
- These variables are normally abstracted to another file where you insert information specific to your environment.
- Then, on runtime, when you execute the templating engine, the templates are loaded into memory and all of the variables are exchanged with their placeholders.
read
Kustomize is an overlay engine, it is developed directly by the Kubernetes team, it is directly supported in Kubectl
A Helm chart is a package that contains a set of Kubernetes resources, such as deployments, services, and config maps, that are used to deploy an application to a Kubernetes cluster.
-
Create a Kustomization.yml file. This file then points to two different things. Your Base and your Overlays. At runtime your Base is loaded into memory and if any Overlays exist that match they are merged over top of your Base configuration.
-
This method allows you to scale your configurations to large numbers of variants more easily.
-
It would greatly reduce redundancy and greatly improve manageability.