This document provides information on how to deploy Openshift using Contrail CNI and aicli
It is based on the documentation available publically here but use aicli instead of curl api calls to ease the workflow.
- Free nodes to run the install (3 or 1), with 2 nics.
- Valid pull secret with credentials to
hub.juniper.net
- Aicli installed
- Valid offline token to use with aicli (if using SAAS mode).
- Contrail manifests downloaded from Juniper Web site to the directory
contrail-manifests-openshift
. - Sushy running if planning to use libvirt vms
- Edit the following files in the downloaded manifests
99-network-configmap.yaml
: Specify data network cidr99-disable-offload-master.yaml
99-disable-offload-master-ens4.yaml
99-disable-offload-worker.yaml
99-disable-offload-worker-ens4.yaml
: If deploying on vms, specify the correct nics in all of those files to disable nic offloading.
- Create a valid parameter file such as aicli_parameters.yml
Relevant elements for this parameter are the following one:
pull_secret
: The path to your pull secret. Defaults toopenshift_pull.json
.network_type
: This is forced to contrailopenshift_version
: This currently needs to be 4.8manifests
: the name of the directory where the Contrail manifests have been downloadedapi_vip
andingress_vip
: Mandatory for an HA installignition_config_override
: This contains a specific ignition needed for the nodes to properly communicate with Contrail Api serverhosts
: This optional section allows the bmc information to be provided so that the discovery iso gets automatically attached and the hosts started automatically. Alternatively, one can download the iso manually and plug it to target nodes.
- Launch
aicli create deployment --paramfile my_params.yml
- Wait around 50mn
In this scenario, we will create the following elements:
- create 3 uefi vms with enough memory and cpus and forcing their uuids using a kcli plan.
- run the deployment using aicli and the default parameter file.
A makefile is provided for this matter, so simply run make install
to trigget deployment of all the artifacts