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.

Requirements

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.

Overview

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.

Configuration

Procedure

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.

Troubleshooting

Problem

To check if Contrail pods are running.

Solution

Use the following command to list the Contrail pods:

Problem

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

Solution

Label the node as opencontrail.org/controller=true using the following command:

Problem

To install Helm on locally loaded Contrail containers.

Solution

  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.

Problem

To delete the Contrail stack.

Solution

Use the following command to delete the Contrail stack: