WARNING: What is covered in this article is not supported. It is recommended that this is only used for a POC where Helm 2.x cannot be used.

Helm Logo

Helm is a package manager for Kubernetes. Helm charts are a collection of templates for Kubernetes deployments. When Helm deploys a chart it substitutes the variables in the template for those in a values file or specified on the command line.

Helm v3 was first put out as an alpha in May 2019. The key difference between Helm v2 and Helm v3 is that Helm v3 does not require a server pod (called tiller) running in the Kubernetes. For more information on Helm v3 please go to (https://v3.Helm.sh/)[https://v3.Helm.sh/]

The other difference with Helm v3 is the command line interface has been modified slightly. Where Helm v2 did not mandate a name for the Helm Release (group of deployed artefacts) Helm v3 does.

e.g. Helm v2

helm install Helmchartname -f valuesFile.yml

e.g. Helm v3

helm install releaseName Helmchartname -f valuesFile.yml

Where as Helm v3 explicitly requires a name Helm v2 would generate a unique name.

APICUP with Helm v3

If you have tried to run APICUP with Helm v3 then you would know it fails to install the charts. This is because it tries to set the name of the Helm v2 chart with –name.

In order to run with Helm v3 follow these steps, where <component name> should be replaced by the component you are installing.

  1. configure the install as normal up until the command apicup subsys install <component name> .
  2. Instead run
    apicup subsys install <component name> --out chart-<component name>
    

    This generates the Helm chart in the chart-<component name> directory but does not try and install it.

  3. Install the secrets that are needed
    kubectl apply -f chart-<component name>/secrets
    
  4. For each tar file in the directory chart-<component name>/helm run the following
    helm install <component name> chart-<component name>/helm/<file name>.tgz -f chart-<component name>/values/<file name>
    
    • Note the file name for the file in the values directory must match the tar file name in the Helm directory

Please Note: this is not supported, but hopefully will unblock people who are dependent on Helm v3.