Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


Installing Contrail Networking for Kubernetes using Helm


Starting in Contrail Release 1912.L1, Helm support is unavailable in Contrail Networking. The Helm support content in this document supports Contrail Networking Releases 1907 through 1912.

This procedure describes how to deploy Contrail with Helm charts, but without OpenStack.


Nodes should be configured so the master can ssh into Minion. If ssh keys are needed, these should be specified in the inventory file.

Follow these steps to deploy Contrail with Helm:

  1. Download the file contrail-helm-deployer-release-tag.tgz onto your provisioning host. It contains the required two required Helm repositories: /opt/openstack-helm-infra (which contains code to deploy k8s) and /opt/contrail-helm-deployer.

  2. Run the command scp contrail-helm-deployer-release-tag.tgz for all nodes in the cluster.

  3. Untar contrail-helm-deployer-release-tag.tgz on all nodes:

  4. Using any node in the cluster, export the following variables:

  5. In this step, all the required packages are installed and Kubernetes is deployed. If you want to install a different version of Kubernetes or CNI, edit the file ${OSH_INFRA_PATH}/tools/gate/devel/multinode-vars.yaml. Doing this overrides the default values in ${OSH_INFRA_PATH}/playbooks/vars.yaml. Following is an example multinode-vars.yaml file, with sample values indicated for the private_registries section:

  6. Install the dependent packages using sudo apt-get.

  7. Prepare the nodes definition in $OSH_INFRA_PATH/tools/gate/devel/multinode-inventory.yaml, similar to this example:

  8. Deploy k8s to the nodes and use the kubectl get nodes command to verify the deployment is successful.

  9. Set the correct labels for the nodes.

  10. Deploy the OpenContrail charts.

  11. Prepare the values for Contrail in /tmp/contrail.yml, similar to the following example.


    This example uses bash variables you should replace with exact values using any preferred means (sed, eval, cat, and so on). Similarly, replace the other variables with actual values where indicated, including IPDATA_SERVICE_HOST, METADATA_PROXY_SECRET, and keystone IP/VIP details.

  12. If you are using a private registry, add the username and password under the imageCredentials section as follows:

  13. Finally, deploy the Contrail charts:

After all containers are deployed, you can check cluster status using the contrail-status command. You can also use the Contrail web browser interface to view and verify the cluster status.