Helm is the package manager for Kubernetes. Through charts it helps you define, install and upgrade even the most complex Kubernetes applications.
The advantages of using helm over
kubectl apply are the easiness of:
- Repeatable application installation.
- CI integration.
- Versioning and sharing.
Charts are a group of Go templates of kubernetes yaml resource manifests, they are easy to create, version, share, and publish.
Helm alone lacks some features, that are satisfied through some external programs:
- Helmfile is used to declaratively configure your charts, so they can be versioned through git.
- Helm-secrets is used to remove hardcoded credentials from
values.yamlfiles. Helm has an open issue to integrate it into it's codebase.
- Helm-git is used to install helm charts directly from Git repositories.