k0s supports deploying applications with Helm charts in two ways:
- Helm command can be used in runtime to install applications like described in the Helm Quickstart Guide.
- Helm charts can be inserted directly into the k0s configuration file (k0s.yaml). This way a separate install of
helmtool is not needed and the charts are automatically deployed at the k0s bootstrap phase.
Helm charts in k0s configuration#
When Helm charts are added into k0s configuration file, you'll get a declarative way to configure the cluster. k0s controller manages the setup of the defined extension Helm charts as part of the cluster bootstrap process.
This example configures Prometheus from "stable" Helms chart repository. Just add the following to your k0s configuration file (k0s.yaml) and restart k0s. Prometheus should now start automatically with k0s.
spec: extensions: helm: repositories: - name: stable url: https://charts.helm.sh/stable - name: prometheus-community url: https://prometheus-community.github.io/helm-charts charts: - name: prometheus-stack chartname: prometheus-community/prometheus version: "11.16.8" values: | storageSpec: emptyDir: medium: Memory namespace: default
Some example extensions that you could use with Helm charts: