Rancher provides the ability to deploy Helm Charts using CRDs. HelmChart
definitions contain the repository, chart, version & values, which are applied to the cluster by a temporary worker Pod. Any changes to the HelmChart
CRD cause the creation of a new Pod to update the Chart in place.
Architecture
flowchart TB subgraph cluster[Kubernetes Cluster] subgraph Namespace hccrd([HelmChart CRD]) -.-> helminstallpod(Helm Installer Pod) helminstallpod --> hc subgraph hc[Helm Chart] direction BT app[Application] conf[Config] end end end
Usage
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: elasticsearch
namespace: tenant
spec:
# chart source
chart: elasticsearch
repo: https://helm.elastic.co
version: v8.5.1
targetNamespace: tenant
# values
set:
rbac.create: "true"
valuesContent: |-
resources:
requests:
cpu: "1000m"
memory: "2Gi"
limits:
cpu: "1000m"
memory: "2Gi"