You are on page 1of 9

K3S

Helm ? Need Help?  Get free intro and advanced online training ×

Architecture

Helm is the package management tool of choice for Kubernetes. Helm charts provide templating
Quick-Start Guide syntax for Kubernetes YAML manifest documents. With Helm we can create con gurable
deployments instead of just using static les. For more information about creating your own catalog

Installation of deployments, check out the docs at https://helm.sh/docs/intro/quickstart/.

K3s does not require any special con guration to use with Helm command-line tools. Just be sure you
Cluster Access have properly set up your kubecon g as per the section about cluster access. K3s does include some
extra functionality to make deploying both traditional Kubernetes resource manifests and Helm Charts
Upgrades even easier with the rancher/helm-release CRD.

This section covers the following topics:


Backup and Restore

Automatically Deploying Manifests and Helm Charts


Volumes and Storage Using the Helm CRD
Customizing Packaged Components with HelmChartCon g
Networking Upgrading from Helm v2

Helm

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Advanced Options and Con guration

Automatically Deploying Manifests and Helm Charts


FAQ
Any Kubernetes manifests found in /var/lib/rancher/k3s/server/manifests will
automatically be deployed to K3s in a manner similar to kubectl apply . Manifests deployed in
Known Issues
this manner are managed as AddOn custom resources, and can be viewed by running kubectl
get addon -A . You will nd AddOns for packaged components such as CoreDNS, Local-Storage,
Security Trae k, etc. AddOns are created automatically by the deploy controller, and are named based on their
lename in the manifests directory.

It is also possible to deploy Helm charts as AddOns. K3s includes a Helm Controller that manages
Helm charts using a HelmChart Custom Resource De nition (CRD).

Using the Helm CRD

NOTE:
K3s versions through v0.5.0 used k3s.cattle.io/v1 as the apiVersion for
HelmCharts. This has been changed to helm.cattle.io/v1 for later versions.

The HelmChart resource de nition captures most of the options you would normally pass to the
helm command-line tool. Here’s an example of how you might deploy Grafana from the default
chart repository, overriding some of the default chart values. Note that the HelmChart resource itself

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
is in the kube-system namespace, but the chart’s resources will be deployed to the
monitoring namespace.

apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: grafana
namespace: kube-system
spec:
chart: stable/grafana
targetNamespace: monitoring
set:
adminPassword: "NotVerySafePassword"
valuesContent: |-
image:
tag: master
env:
GF_EXPLORE_ENABLED: true
adminUser: admin
sidecar:
datasources:
enabled: true

HelmChart Field Definitions

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
HELM
ARGUMENT /
FIELD DEFAULT DESCRIPTION
FLAG
EQUIVALENT

name Helm Chart name NAME

spec.chart Helm Chart name in CHART


repository, or complete
HTTPS URL to chart archive
(.tgz)

spec.targetNamespace default Helm Chart target namespace --


namespace

spec.version Helm Chart version (when --


installing from repository) version

spec.repo Helm Chart repository URL --repo

spec.helmVersion v3 Helm version to use ( v2 or


v3 )

spec.bootstrap False Set to True if this chart is


needed to bootstrap the
cluster (Cloud Controller
Manager, etc)

spec.set Override simple default Chart --set / -


values. These take -set-
precedence over options set string
via valuesContent.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
HELM
ARGUMENT /
FIELD DEFAULT DESCRIPTION
FLAG
EQUIVALENT

spec.jobImage Specify the image to use


when installing the helm
chart. E.g. rancher/klipper-
helm:v0.3.0 .

spec.valuesContent Override complex default --values


Chart values via YAML le
content

spec.chartContent Base64-encoded chart archive CHART


.tgz - overrides spec.chart

Content placed in /var/lib/rancher/k3s/server/static/ can be accessed anonymously


via the Kubernetes APIServer from within the cluster. This URL can be templated using the special
variable %{KUBERNETES_API}% in the spec.chart eld. For example, the packaged Trae k
component loads its chart from https://%{KUBERNETES_API}%/static/charts/traefik-
1.81.0.tgz .

Customizing Packaged Components with


HelmChartConfig
To allow overriding values for packaged components that are deployed as HelmCharts (such as
Trae k), K3s versions starting with v1.19.0+k3s1 support customizing deployments via a

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
HelmChartCon g resources. The HelmChartCon g resource must match the name and namespace
of its corresponding HelmChart, and supports providing additional valuesContent , which is
passed to the helm command as an additional value le.

NOTE:
HelmChart spec.set values override HelmChart and HelmChartCon g
spec.valuesContent settings.

For example, to customize the packaged Trae k ingress con guration, you can create a le named
/var/lib/rancher/k3s/server/manifests/traefik-config.yaml and populate it with
the following content:

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
valuesContent: |-
image: traefik
imageTag: v1.7.26-alpine
proxyProtocol:
enabled: true
trustedIPs:
- 10.0.0.0/8
forwardedHeaders:
enabled: true

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
trustedIPs:
- 10.0.0.0/8
ssl:
enabled: true
permanentRedirect: false

Upgrading from Helm v2

NOTE:
K3s versions starting with v1.17.0+k3s.1 support Helm v3, and will use it by default. Helm
v2 charts can be used by setting helmVersion: v2 in the spec.

If you were using Helm v2 in previous versions of K3s, you may upgrade to v1.17.0+k3s.1 or newer
and Helm 2 will still function. If you wish to migrate to Helm 3, this blog post by Helm explains how to
use a plugin to successfully migrate. Refer to the o cial Helm 3 documentation here for more
information. K3s will handle either Helm v2 or Helm v3 as of v1.17.0+k3s.1. Just be sure you have
properly set your kubecon g as per the examples in the section about cluster access.

Note that Helm 3 no longer requires Tiller and the helm init command. Refer to the o cial
documentation for details.

EDIT THIS PAGE

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
GET THE LATEST NEWS PRODUCTS COMMUNITY RESOURCES COMPANY

Rancher Events Rancher 2.x Docs About Us


email address
RKE Online Meetups Rancher 1.6 Docs Customers

k3s Training RKE Docs Partners


Read Privacy Policy.
Get Support Tutorials k3s Docs Careers

Pricing Kubernetes Master RancherOS Docs Blog


Classes
Request a Demo eBooks and White Press
Get Certi ed! Papers
CONNECT WITH US Contact Us
Rancher Writing Videos and Podcasts
Program China Site
Getting Started Guide
Forums Japan Site
Why Kubernetes
Slack

GitHub

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
© Copyright 2021 Rancher. All Rights Reserved. Privacy Policy Agreements Terms of Service

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

You might also like