HelmΒΆ

OpeNgine uses Helm to deploy tools and workloads accross multiple Kubernetes clusters. Helm 2.x is in use, therefore Tiller is deployed to each referenced Kubernetes cluster. In the OpeNgine configuration file environment/vars.yml all Helm settings are defined as single helm: block containing multiple sub-sections - one sub-section per cluster.

The following example will be used to illustrate configuration schema.

helm:
  the-first-cluster:
    tiller_image: "gcr.io/kubernetes-helm/tiller:v2.11.0"
    tiller_account: "tiller"
    tiller_role: "tiller-role"
    tiller_namespace: "kube-system"
  the-second-cluster:
    tiller_image: "gcr.io/kubernetes-helm/tiller:v2.11.0"
    tiller_account: "tiller"
    tiller_role: "tiller-role"
    tiller_namespace: "kube-system"

Helm settings are defined using YAML syntax as described in the table below

Element

Description

helm

Parent element of Helm configuration, contains list clusters to be configured.

the-first-cluster,the-second-cluster

Kubernetes cluster identifier. Gropus Helm/Tiller settings. OpeNgine will install and configure Tiller on cluster(s) using these identifiers.

tiller_image

Reference of specific Helm chart for required Tiller version. Can be used to upgrade Tiller.

tiller_account

OpeNgine will provision this account in Kubernetes and will run Tiller using this account.

tiller_role

OpeNgine will provision this role in Kubernetes and will run Tiller using this role.

tiller_namespace

Existing Kubernetes namespace to run Tiller, in most cases must be kept == "kube-system".