Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Contrail Feature Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Using Helm Charts to Provision All-in-One Contrail with OpenStack Ocata

date_range 16-Oct-23

This is the installation procedure for using Helm charts to provision an all-in-one Contrail system with OpenStack Ocata. This is not a high availability configuration.

Note:

All-in-one systems are only used for testing or for demonstration purposes.

System Specifications

This procedure uses Helm to provision an OpenStack Ocata Contrail all-in-one cluster without high availability.

This procedure is tested with:

  • Operating system: Ubuntu 16.04.3 LTS

  • Kernel: 4.4.0-87-generic

  • Docker: 1.13.1-cs9

  • Helm: v2.7.2

  • Kubernetes: v1.8.3

  • OpenStack: Ocata

This setup was tested on a system with the following specifications:

  • CPU: 8

  • RAM: 32 GB

  • HDD: 120 GB

Installation Steps

  1. Get the contrail-helm-deployer.

    From Juniper Networks, download contrail-helm-deployer-5.0.0-0.40.tgz onto your provisioning host.

    • Untar contrail-helm-deployer-5.0.0-0.40.tgz.

      tar -zxf contrail-helm-deployer-5.0.0-0.40.tgz -C /opt/

  2. Export required variables.

    content_copy zoom_out_map
    export BASE_DIR=$(pwd)
    export OSH_PATH=${BASE_DIR}/openstack-helm
    export OSH_INFRA_PATH=${BASE_DIR}/openstack-helm-infra
    export CHD_PATH=${BASE_DIR}/contrail-helm-deployerExport variables 
  3. Install necessary packages and deploy Kubernetes.

    Note:

    If you want to install a different version of Kubernetes, CNI, or Calico, edit ${OSH_INFRA_PATH}/tools/gate/devel/local-vars.yaml to override the default values in ${OSH_INFRA_PATH}/tools/gate/playbooks/vars.yaml.

    content_copy zoom_out_map
    cd ${OSH_PATH}
    ./tools/deployment/developer/common/001-install-packages-opencontrail.sh
    ./tools/deployment/developer/common/010-deploy-k8s.sh
  4. Install OpenStack and the Heat client.

    content_copy zoom_out_map
    ./tools/deployment/developer/common/020-setup-client.sh
    
  5. Deploy OpenStack Helm-related charts.

    content_copy zoom_out_map
    ./tools/deployment/developer/nfs/031-ingress-opencontrail.sh
    ./tools/deployment/developer/nfs/040-nfs-provisioner.sh
    ./tools/deployment/developer/nfs/050-mariadb.sh
    ./tools/deployment/developer/nfs/060-rabbitmq.sh
    ./tools/deployment/developer/nfs/070-memcached.sh
    ./tools/deployment/developer/nfs/080-keystone.sh
    ./tools/deployment/developer/nfs/100-horizon.sh
    ./tools/deployment/developer/nfs/120-glance.sh
    ./tools/deployment/developer/nfs/151-libvirt-opencontrail.sh
    ./tools/deployment/developer/nfs/161-compute-kit-opencontrail.sh
  6. Deploy Contrail Helm charts.

    content_copy zoom_out_map
    cd $CHD_PATH
    
    make
    
    # Set the IP of your CONTROL_NODES (specify your control data ip, if you have one)
    export CONTROL_NODES=10.87.65.245
    # set the control data network cidr list separated by comma and set the respective gateway
    export CONTROL_DATA_NET_LIST=10.87.65.128/25
    export VROUTER_GATEWAY=10.87.65.129
    
    kubectl label node opencontrail.org/controller=enabled --all
    kubectl label node opencontrail.org/vrouter-kernel=enabled --all
    
    kubectl replace -f ${CHD_PATH}/rbac/cluster-admin.yaml
    
    tee /tmp/contrail.yaml << EOF
    global:
      contrail_env:
        CONTROLLER_NODES: 172.17.0.1
        CONTROL_NODES: ${CONTROL_NODES}
        LOG_LEVEL: SYS_NOTICE
        CLOUD_ORCHESTRATOR: openstack
        AAA_MODE: cloud-admin
        CONTROL_DATA_NET_LIST: ${CONTROL_DATA_NET_LIST}
        VROUTER_GATEWAY: ${VROUTER_GATEWAY}
    EOF
    
    helm install --name contrail ${CHD_PATH}/contrail \
    --namespace=contrail --values=/tmp/contrail.yaml
  7. Deploy Heat charts.

    content_copy zoom_out_map
    cd ${OSH_PATH}
    ./tools/deployment/developer/nfs/091-heat-opencontrail.sh

Accessing the Contrail OpenStack Helm Cluster

Use the following topic to access the OpenStack and Contrail Web UI and prepare the OpenStack client for command-line interface (CLI):

Accessing a Contrail OpenStack Helm Cluster

footer-navigation