Helm is package manager to Kubernetes resources. it handles the complexity of managing the Charts/packages for Kubernetes resources using simple commands like install, upgrade, uninstall etc.it is a tool which connects to Chart/Package repositories and download the Charts/Packages and deploy it into the k8s cluster.
- Managing the complexities of deployments of multiple K8s resource yml files
- easy to have different configuration for different environment like prod, stag, dev with common templates
- managing the dependencies of a chart
- easy to create version, share the chart/app to others and publish it in repository.
- support for parametrized templates to easy the configuration update
Helm is a tool which connects to repository and download the packages/charts and install it into the k8s cluster using kubeconfig. it applies the configuration from values.yml and updated it on k8s resource templates then deploy them into the cluster
Chart is a directory structure which contains the chart.yml, values.yml , Charts director to have umbrella charts, templates directory, test directory to test charts.
Chart.yml is a meta data for the application to be deployed.
values.yml contains the configuration information for each k8s resource
tempaltes: contains all k8s resources in go template type yml