Helm Charts

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 helm tool 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.

Example

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.

  1. spec:
  2. extensions:
  3. helm:
  4. repositories:
  5. - name: stable
  6. url: https://charts.helm.sh/stable
  7. - name: prometheus-community
  8. url: https://prometheus-community.github.io/helm-charts
  9. charts:
  10. - name: prometheus-stack
  11. chartname: prometheus-community/prometheus
  12. version: "11.16.8"
  13. values: |
  14. storageSpec:
  15. emptyDir:
  16. medium: Memory
  17. namespace: default

Some example extensions that you could use with Helm charts: