Pre-Installation Checklist for OpenShift 4 on VMware vSphere
This checklist should help in getting everything ready for a smooth installation of OpenShift 4 on VMware vSphere.
Checklist
-
VM template ready?
-
VMs created?
-
Webserver for ignition files ready (check the OpenShift Documentation for an example)?
-
DHCP scope with reservations configured?
-
DNS records created?
-
Certificates created?
-
Load balancers ready?
VMware vSphere
-
For the OpenShift vSphere integration and vSphere CSI Driver to work, vSphere must be at version 7.0 U2 or later.
-
A VM "template" based on the Red Hat CoreOS image is required, which is explained in this blog post.
-
The vSphere folder name, which contains all VMs of an OpenShift cluster, must match the cluster name that you specified in the
install-config.yaml
file. -
The account used to connect to the vCenter must at least have the roles and permissions described at What are the minimum privileges required to install Openshift IPI in a vSphere environment and vSphere CSI Driver - Prerequisites - Roles and Privileges .
Virtual Machines
The following VMs are required to create an OpenShift 4 cluster:
Machine | Number | vCPU | RAM | Storage | OS |
---|---|---|---|---|---|
Bastion Host1 |
1 |
1 |
4 GB |
20 GB |
RHEL or similar |
Webserver1 |
1 |
1 |
4 GB |
20 GB |
irrelevant |
Bootstrap Node2 |
1 |
4 |
16 GB |
120 GB |
RHCOS4 |
Masters |
3 |
4 |
16 GB |
120 GB |
RHCOS4 |
Infra Nodes |
3 |
8 |
32 GB |
120 GB |
RHCOS4 |
Worker Nodes3 |
2+ |
2+ |
8+ GB |
120 GB |
RHCOS4 |
Network
Address and DHCP
The OpenShift VMs should get their IP address via DHCP. Create DHCP reservations with the specified MAC address of the VM.
DNS records
Several DNS records are required for OpenShift to work correctly.
The OpenShift documentation lists the required records in detail.
To illustrate, the following variables are set:
<base_domain>:
|
|
<cluster_name>:
|
|
|
With the defined variables, the following DNS records are required:
Record | Type | Target |
---|---|---|
|
A/CNAME |
API Load Balancer |
|
A/CNAME |
API Load Balancer |
|
A/CNAME |
Apps Load Balancer |
|
CNAME |
Apps Load Balancer |
|
A |
Master 1 |
|
A |
Master 2 |
|
A |
Master 3 |
|
SRV |
See User-provisioned DNS requirements for details. |
By default, Windows DNS servers create a SRV record for every A record.
For the A records of |
Certificates
Certificates for the following hostnames need to be created:
-
api.ocp4-vs.appuio.ch
-
console.ocp4-vs.appuio.ch
-
*.apps.ocp4-vs.appuio.ch
(wildcard certificate)
Subject Alternative Name
For the certificates to be valid in modern web browser, make sure the Subject Alternative Name (SAN) contains the hostname of the certificate. See How to create a CSR with OpenSSL for an example on how to do so. |
Private PKI
If the certificates are issued from your own private PKI, the RootCA certificate of your PKI needs to be added to the
Multiple CA certificates can be added. |
Load balancers
For accessing API and applications, the following load balancers are required:
-
API load balancer
-
Targets: all 3 masters and the bootstrap node at the beginning of the installation
-
Ports: 6443/tcp, 22623/tcp
-
TLS passthrough (no TLS termination on the load balancer
-
WebSockets allowed
-
-
Apps load balancer
-
Targets: all 3 Infra Nodes
-
Ports: 80/tcp, 443/tcp
-
TLS passthrough (optimally no TLS termination on the load balancer)
-
Communication
The following communication has to be guaranteed:
Source | Destination | Ports | Comment |
---|---|---|---|
OpenShift |
API load balancer |
6443/tcp, 22623/tcp |
All nodes |
OpenShift |
App load balancer |
80/tcp, 443/tcp |
All nodes |
OpenShift |
Outgoing proxy |
depending on proxy |
All nodes |
OpenShift masters |
Configured IdP |
depending on IdP |
Authentication is handled by components running on masters |
Possible further surrounding systems:
-
Access to Git repositories from all worker nodes
-
Access to databases and other applications from all worker nodes
Outgoing proxy
The following URLs need to be whitelisted on the outgoing proxy, as described at Configuring your firewall.
If the connection to the proxy is done via HTTPS, the CA certificate, which was used to sign the certificate of the proxy server, needs to be added to the install-config.yaml
, as described above.
See Configuring the cluster-wide proxy during installation for details.