Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


Using Kubernetes Helm to Provision Contrail

Starting with Contrail Release 4.0.1, you can use Kubernetes Helm to provision Contrail.


This procedure requires the following minimum virtual machine and host specifications:

  • 32 GB RAM

  • Eight vCPUs

  • 150 GB disk space

The supported software versions for using Kubernetes Helm for provisioning Contrail are:

  • Kubernetes 1.6

  • Docker Engine versions 1.11.0 to 1.13.0

  • Helm 2.4 and greater

  • Contrail Release 4.0.1

Preparing for Installation

Before using Helm to provision Contrail with Kubernetes, ensure the following prerequisites are met:

  1. Stop the firewall service and delete all the iptable rules.

    • For Ubuntu 16.04 host OS, use the following commands:

    • For CentOS 7 host OS, use the following commands:

  2. Ensure that the Kubernetes cluster is running. You can choose any method to install Kubernetes. For quick installation steps, use the following commands:

    • Commands for Ubuntu 16.04 host OS:

    • Commands for CentOS7 host OS:

  3. Patch LivenessProbe and ReadinessProbe of kube-dns deployment using the following commands:

  4. (Optional) If you are re-provisioning Contrail on the same Kubernetes cluster, ensure the following:

    • Delete the configdb and analyticsdb data from the previous installation.

    • Remove the vhost0 interface from all the nodes. Reboot the cluster to remove the vhost0 interface.


Helm is a tool that helps package, install, and manage Kubernetes applications. Starting with Contrail 4.0.1, you can use Kubernetes Helm to provision Contrail.



Step-by-Step Procedure

  1. Download and install Kubernetes Helm.

  2. Download Contrail-related charts and manifests. Ensure that the correct version of contrail-docker tag is checked out.

  3. Install Kubernetes Helm's tiller pods with the correct tiller version.

  4. Initialize the Kubernetes Helm client by using the following command

  5. Edit the values.yaml file. Refer to Definable Input Variables While Provisioning Contrail for Kubernetes for more information.

  6. Install Contrail charts using the following command.

  7. Verify Contrail status on all Contrail containers.

    • Check the Contrail pod names using the following command.

    • Check the contrail-status for all the pods, using the following command.



To check if Contrail pods are running.


Use the following command to list the Contrail pods:


To bring up Contrail control plane pods on nodes other than the Kubernetes master.


Label the node as using the following command:


To install Helm on locally loaded Contrail containers.


  1. Look-up the Contrail-image name and tags using the following command:

  2. Edit the contrail/values.yaml file and change the respective image name under images using the image-name:tag format. For example:

    Edit the file before installing Helm.


To delete the Contrail stack.


Use the following command to delete the Contrail stack: