Contrail_Cluster_Deployment - kratna888/Contrail_Command GitHub Wiki

#Welcome to Contrail Cloud Deployment Guide !

Resource Request

Contrail Controller - 8 vcpu , 64G memory , 300 G storage

Openstack Controller - 4 vCPU , 32G Memory , 100G Storage

CSN : 4 vCPU , 16G Memory , 100G Storage

Compute nodes - depends on the workloads

Acronyms

CC - Contrail-Command

prerequisites

Ping Test for all Nodes shall pass.

There are various roles in a Cluster Deployment:

a) Contrail-Controller Node

b) OpenStack Node

c) Contrail Services Node

d) Compute Node

All Servers used in the cluster (as Contrail-Controller Node, Openstack Node, Compute Node, CSN Node) should be able to ping each other via mgmt interface as well as data interface.

Cluster Deployment Steps

Sample Cluster Topology

  1. Non-HA ( Only one Contrail Controller and Only One OpenStack Controller )
  2. Single Compute
  3. Single Contrail Services Node

Step1: Add Physical Servers

Adding servers can be done by two ways

  1. Add server one by one
  2. Upload a csv file which contains the each server details. This CSV file shall conforms to the format Contrail-Command.

To add servers one by one , Contrail-Command expects few mandatory parameters a) Hostname b) mgmt IP c) mgmt Interface d) MAC address

For large deployments, use bulk import option using CSV file. Download the CSV file from CC. Click on Bulk Import (CSV) , to download the template.

NOTE: the demo topology above only has 1 Compute node, 5c10s12. If you are deploying additional Compute nodes, you need to include them in the csv file.

A sample CSV file would look like the following :

Workload Type,HostName,Management IP,Disk Partition,Network Interface,MAC address,IPMI Driver,IPMI Address,IPMI UserName,IPMI Password,Memory mb,CPU's,CPU Arch,Local gb,Capabilities,Number of Network Interfaces,Interface Name,Interface MAC Address,Interface IP,Enable PXE,Interface Name,Interface MAC Address,Interface IP,Enable PXE

physical,5c10s9,10.87.74.69,,enp4s0f0,,,,,,,,,,,2,enp4s0f0,,10.87.74.69,,ens2f0,,10.1.0.2,

physical,5c10s7-node1,10.87.74.65,,eno1,,,,,,,,,,,2,eno1,,10.87.74.65,,ens2f1,,10.1.0.3,

physical,5c10s7-node3,10.87.74.67,,eno1,,,,,,,,,,,2,eno1,,10.87.74.67,,ens2f1,,10.1.0.67,

physical,5c10s12,10.87.74.71,,eno1,,,,,,,,,,,2,eno1,,10.87.74.71,,ens1f0,,10.1.0.66,

Step2: Create Cluster

If you are using an internal registry 

Container Register = 10.84.5.81:5000
insecure = check this box 
Contrail Version = ocata-5.0-214 

If you are using an external registry  - hub.juniper.net 

Container Register = hub.juniper.net 
insecure = UNcheck this box 
Contrail Version = ocata-5.0-214

Default vRouter Gateway = Provide the default Gateway for the compute nodes  ( If any one of the compute has a different default GW than the one provided here, provide that GW in Compute node screen) 

Encap Priority = VXLAN, MPLSoUDP, MPLSoGRE

Click on Advanced Options

CONTROL_NODES = This is the data interface of the contrail-controller

Step 3: Select the contrail-control node

Step 4: Select the orchestration node; check the advanced option

Internal VIP - VIP for the data network 

External ( mgmt )  VIP - VIP for mgmt interface 

Click on Advance Options if you need customize your deployment. For instance, if ironic is not needed and if you are not going to use Life Cycle Management in CC. Then you need not deploy Ironic . In CC , it is handle by a key-value pair .

Kolla Globals :

Ironic_enable = Yes

Compute node kernel version should be - kernel-3.10.0-862.3.2.el7.x86_64; Else kernel upgrade is required. as part of Kolla Globals provide a key-value pair

upgrade_kernel = yes

Then, select the OpenStack( Orchestration) node

Step 5: Select the Compute Nodes . For each Compute Node, provide the GW if it is different from the GW that was provided as part of the global parameters.

Step 6: Select the Contrail Service Node

Step 7: Verify the Summary of your cluster configuration and click provision .