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.
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:
- Ingress controllers: Nginx ingress, Traefix ingress (tutorial)
- Volume storage providers: OpenEBS, Rook, Longhorn
- Monitoring: Prometheus, Grafana