Warning
This feature is available starting from the MCP 2019.2.3 maintenance update. Before enabling the feature, follow the steps described in Apply maintenance updates.
Helm is a package manager for Kubernetes that allows you to configure, package, and deploy applications on a Kubernetes cluster.
The Helm packaging format is called charts. Charts are packages of the pre-configured Kubernetes resources.
To enable Helm support on a bare metal Kubernetes cluster:
While generating a deployment metadata model for your new MCP Kubernetes cluster as described in Create a deployment metadata model, select the Kubernetes helm enabled option in the Infrastructure parameters section of the Model Designer UI.
If you have already generated a deployment metadata model without the Helm parameter or to enable this feature on an existing Kubernetes cluster:
Open your Git project repository with the Reclass model on the cluster level.
In /kubernetes/common/init.yml
, add the Helm parameters:
parameters:
kubernetes:
common:
addons:
...
helm:
enabled: true
Select from the following options:
If you are performing an initial deployment of your cluster, proceed with further configuration as required. Helm will be installed during your Kubernetes cluster deployment.
If you are making changes to an existing cluster:
Log in to the Salt Master node.
Refresh your Reclass storage data:
salt-call state.sls reclass.storage
Apply the kube-addons
state:
salt -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons
To verify Helm after deployment:
Log in to any Kubernetes Master node.
Verify that the Tiller pod is created:
kubectl get pods --namespace kube-system
Example of system response:
NAME READY STATUS RESTARTS AGE
tiller-deploy-79876bc7dd-7z2bh 1/1 Running 0 10h
Once the Tiller pod is running, run the following command:
helm version
The output must contain both the Helm client and server versions:
Example of system response:
Client: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"}