Before installing OpenShift, ensure that your environment meets certain requirements.

General Requirements

  • Ansible 2.4 or later.

Virtual Machine Requirements

Openshift node VMs must have two vNICs:

  • A management vNIC connected to the logical switch that has an uplink to the management tier-1 router.
  • The second vNIC on all VMs must have the following tags in NSX-T so that NCP knows which port is used as a parent VIF for all PODs running on the particular OenShift node.
    {'ncp/node_name':  '<node_name>'}
    {'ncp/cluster': '<cluster_name>'}

Bare Metal Machine Requirements

  • The OpenShift nodes must be NSX-T transport nodes and the tags mentioned above must be applied on the transport nodes instead of VIFs.
  • The Ansible hosts file must have this setting: nsx_node_type='BAREMETAL'.

NSX-T Requirements

  • A tier-0 router.
  • An overlay transport zone.
  • An IP block for POD networking.
  • (Optional) An IP Block for routed (no NAT) POD networking.
  • An IP Pool for SNAT. By default the IP Block for POD networking is routable only inside NSX-T. NCP uses this IP Pool to provide connectivity to the outside.
  • (Optional) Top and bottom firewall sections. NCP will place Kubernetes network policy rules between these two sections.
  • Open vSwitch and CNI plugin RPMs must be hosted on an HTTP server reachable from the OpenShift node VMs.

NCP Docker Image

Currently the NCP docker image is not publically available. You must have the image nsx-ncp in a local private registry, or do the following:

ansible-playbook [-i /path/to/inventory] playbooks/prerequisites.yml

On all nodes:
docker load -i nsx-ncp-rhel-xxx.yyyyyyyy.tar
docker image tag registry.local/xxx.yyyyyyyy/nsx-ncp-rhel nsx-ncp
ansible-playbook [-i /path/to/inventory] playbooks/deploy_cluster.yml