Helm integration is a way to automatically deploy a bunch of helm releases
together with kubeone apply
. No helm binary is required. Can be used as
alternative way (to KubeOne Addons) to deploy for example a
CNI plugins with your own customizations, or different Kubernetes workloads that
mostly are accessible as Helm Charts.
Example
apiVersion: kubeone.k8c.io/v1beta2
kind: KubeOneCluster
#... irrelevant parts of the manifest are omitted
helmReleases:
# releaseName can be omitted, in that case it will defaulted to .chart
- releaseName: ksm
# chart is a required field, simply a chart name to deploy
chart: kube-state-metrics
# where to find the chart, chan be a remote server or local directory.
# --repo flag of the `helm upgrade` command.
repoURL: https://prometheus-community.github.io/helm-charts
# namespace to deploy helm release to. --namespace flag of the
# `helm upgrade` command.
namespace: kube-state-metrics
# use specific version instead of latest available, which is highly
# recommended, but version can be omitted. --version flag of the
# `helm upgrade` command.
version: 4.22.3
# provide optional overrides for chart values, --values flag of the
# `helm upgrade` command
values:
- valuesFile: ksm-values.yaml # it can be a file
- inline: # or directly specified inline YAML
replicas: 3
Uninstalling Helm Release
In order to uninstall a helm release just delete it from the helmReleases
list
Example:
Initial helmReleases TO INSTALL.
helmReleases:
- chart: kube-state-metrics
repoURL: https://prometheus-community.github.io/helm-charts
namespace: kube-state-metrics
version: 4.22.3
- chart: redis
releaseName: myredis
repoURL: https://charts.bitnami.com/bitnami
namespace: cache
values:
- inline:
auth:
enabled: false
sentinel: false
Redis is deleted, and on next KubeOne apply it will be uninstalled.
helmReleases:
- chart: kube-state-metrics
repoURL: https://prometheus-community.github.io/helm-charts
namespace: kube-state-metrics
version: 4.22.3
- - chart: redis
- releaseName: myredis
- repoURL: https://charts.bitnami.com/bitnami
- namespace: cache
- values:
- - inline:
- auth:
- enabled: false
- sentinel: false
Only helm releases deployed by KubeOne will be uninstalled. Helm releases
installed outside of the KubeOne (by using helm CLI for example) will not be
touched.
API
Full document for autogenerated API is available.