vCenter Prerequisites — OCP 4.18 on vSphere IPI
vCenter Prerequisites — OCP 4.18 on vSphere IPI
Prerequisiti VMware e Bastion Host per una installazione IPI di OpenShift Container Platform 4.18 su vSphere. Complementare a Network Requirements — assumi che le aperture di rete siano già gestite.
Fonti: Red Hat OpenShift 4.18 – Installing on VMware vSphere → Installation requirements + prerequisiti operativi interni.
1. Versioni vSphere supportate
Per OCP 4.18, Red Hat supporta:
| Componente | Versione minima |
|---|---|
| VMware vSphere / vCenter | 7.0 Update 2 (raccomandato 8.0 Update 1+) |
| VMware ESXi | 7.0 Update 2 (raccomandato 8.0 Update 1+) |
| vSphere CSI Driver Operator | vSphere 8.0 Update 1+ o VMware vSphere Foundation (VVF) 9 o VMware Cloud Foundation (VCF) 5+ |
| Hardware version VM | 15 o superiore (necessario per RHCOS) |
Se in produzione avete ancora 7.0 Update 2/3, l’installazione funziona ma il CSI driver Operator moderno non sarà utilizzabile: si ripiega sul driver in-tree (deprecato ma supportato). Pianificare l’upgrade a 8.0 U1+ è caldamente raccomandato.
2. Account vCenter — privilegi minimi
Red Hat raccomanda un service account dedicato (non l’admin globale) per l’installer, con questi privilegi minimi.
2.1 Gestione VM
- Create, register, delete, reconfigure virtual machine
- Configure CPU / memoria / disco / interfacce di rete
- Power on / off / reset / snapshot
2.2 Gestione Datastore
- Browse datastore
- Allocate space
- Low-level file operations (necessario per upload OVF/OVA RHCOS)
2.3 Gestione Rete
- Assign network (assegnazione port-group alle VM del cluster)
2.4 Gestione Resource Pool / Cluster
- Create resource pool
- Assign virtual machine to resource pool
2.5 Gestione Template / OVA
- Deploy OVF template
- Import RHCOS OVA
2.6 Altri requisiti vSphere
- Accesso al vCenter e al cluster ESXi target
- Permessi su folder e datacenter di destinazione
- DNS + DHCP configurati (vedi Network Requirements)
Nota: se non riesci a distillare al livello granulare, il ruolo predefinito
Administratorfunziona ma è sovradimensionato. Per ambienti produttivi bancari/enterprise, usa sempre un ruolo custom minimo — l’audit lo apprezzerà.
3. Configurazione vSphere per installer IPI
Prima di lanciare openshift-install, verifica che il datacenter target soddisfi questi vincoli.
3.1 Struttura datacenter
- Un solo datacenter nel vCenter target (o comunque uno solo referenziato in
install-config.yaml) - Un solo cluster ESXi con almeno 3 host per production (per anti-affinity dei master)
- Se ci sono più resource pool nel cluster, il default pool deve essere utilizzabile — altrimenti i worker non vengono creati
3.2 Datastore
- Un datastore accessibile da tutti gli host ESXi del cluster
- Spazio richiesto minimo Day 1: ~120 GB × (3 master + 2 worker + 1 bootstrap) ≈ 700 GB a bare minimum
- Per produzione con logging + monitoring + registry: pianificare almeno 2 TB disponibili
- Non usare datastore appartenenti a datastore cluster con SDRS/Storage vMotion attivo — Red Hat non supporta
3.3 VM folder
Creare un folder dedicato per contenere tutte le VM del cluster. Rende infinitamente più semplice il lifecycle (delete, backup, permission scoping).
3.4 vMotion e DRS
- DRS su control-plane e infra worker: disabilitato (o modalità manuale)
- VM/VM anti-affinity rules: raccomandate per i 3 master, in modo che non finiscano sullo stesso host ESXi
- Storage vMotion su VM con vSphere volumes (PV): non supportato, provoca reference PV invalide e potenziale data loss
3.5 Restart policy dei nodi (in caso di shutdown planned)
Ordine di shutdown:
- Compute nodes
- Infra nodes
- Master nodes
Ordine di boot:
- Master nodes
- Infra nodes
- Compute nodes
4. Bastion Host
Il Bastion Host (BH) è l’utility server da cui parte tutta l’installazione IPI. Non è tecnicamente un “prerequisito” di OpenShift ma di tutti i deploy enterprise: la docs Red Hat lo assume implicitamente.
4.1 Hardware / OS minimi
- 2 vCPU, 4 GB RAM, 40 GB disco
- RHEL 8 o 9 (raccomandato), Rocky/Alma equivalenti sono OK per lab
- Rete: stessa VLAN dei nodi cluster (o comunque routing L3 verso VIP + vCenter)
4.2 Software da installare
# Installer OCP 4.18OCP_VERSION=4.18.0curl -k -L https://mirror.openshift.com/pub/openshift-v4/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz \ -o /tmp/openshift-install-linux.tar.gzsudo tar -xzf /tmp/openshift-install-linux.tar.gz -C /usr/local/bin/ openshift-installsudo chmod +x /usr/local/bin/openshift-install
# oc CLIcurl -k -L https://mirror.openshift.com/pub/openshift-v4/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz \ -o /tmp/openshift-client-linux.tar.gzsudo tar -xzf /tmp/openshift-client-linux.tar.gz -C /usr/local/bin/ oc kubectlsudo chmod +x /usr/local/bin/oc /usr/local/bin/kubectl
# Verificaopenshift-install versionoc version --client4.3 SSH key
ssh-keygen -t ed25519 -f ~/.ssh/ocp4_installer -C "ocp4-installer" -N ""cat ~/.ssh/ocp4_installer.pubQuesta chiave verrà iniettata via Ignition su tutti i nodi RHCOS: usa ssh core@<node> per accesso emergenza post-install.
4.4 Pull-secret
Scarica il pull-secret da https://console.redhat.com/openshift/install/pull-secret e salvalo in ~/pull-secret.json. Serve all’installer per autenticarsi ai registry Red Hat.
4.5 CA di vCenter (importante)
Se vCenter usa un certificato self-signed o di CA interna, va importato nel trust store del bastion, altrimenti openshift-install fallisce con x509: certificate signed by unknown authority:
curl -k -o /tmp/vcenter.zip https://<vcenter_hostname>/certs/download.zipunzip /tmp/vcenter.zip -d /tmp/vcsudo cp /tmp/vc/certs/lin/*.0 /etc/pki/ca-trust/source/anchors/sudo update-ca-trustVerifica:
openssl s_client -connect <vcenter_hostname>:443 -showcerts </dev/null 2>/dev/null | \ openssl x509 -noout -issuer -subject5. install-config.yaml — parametri chiave per IPI su vSphere
Non è uno YAML da copiare senza cervello; è un elenco commentato dei campi da compilare.
apiVersion: v1baseDomain: example.com # dominio DNS radice (es. lab.acme.it)metadata: name: ocp4 # nome cluster (parte breve, no domain)controlPlane: hyperthreading: Enabled name: master replicas: 3 # SEMPRE 3, non modificabile platform: vsphere: cpus: 4 coresPerSocket: 2 memoryMB: 16384 osDisk: diskSizeGB: 120compute: - hyperthreading: Enabled name: worker replicas: 3 # minimo 2, raccomandato 3+ platform: vsphere: cpus: 4 coresPerSocket: 2 memoryMB: 16384 osDisk: diskSizeGB: 120platform: vsphere: apiVIPs: - 192.168.50.10 # API VIP (deve risolvere api. e api-int.) ingressVIPs: - 192.168.50.11 # Ingress VIP (deve risolvere *.apps.) vcenters: - server: vcenter.example.com user: ocp-installer@vsphere.local password: 'CHANGEME' datacenters: - Datacenter1 failureDomains: - name: fd-1 region: region-1 zone: zone-1 server: vcenter.example.com topology: datacenter: Datacenter1 computeCluster: /Datacenter1/host/Cluster1 networks: - VM_Network_OCP datastore: /Datacenter1/datastore/vsanDatastore resourcePool: /Datacenter1/host/Cluster1/Resources folder: /Datacenter1/vm/ocp4pullSecret: '...' # contenuto di ~/pull-secret.jsonsshKey: 'ssh-ed25519 AAAA... ocp4-installer'Novità 4.18 — la sezione
platform.vsphereè cambiata rispetto alle release precedenti: obbligatorio dichiararevcenters(array) efailureDomains(array), anche in single-site. Se haiinstall-config.yamlda 4.14/4.16, va rifattorizzato.
6. Processo installazione (workflow IPI)
Sequenza a run-time, per contesto:
- Bastion:
openshift-install create install-config --dir=./ocp4→ generiinstall-config.yamlinterattivamente - Bastion:
openshift-install create manifests --dir=./ocp4→ generi manifest Kubernetes (customizzabili prima dello step successivo) - Bastion:
openshift-install create ignition-configs --dir=./ocp4→ generibootstrap.ign,master.ign,worker.ign - Bastion:
openshift-install create cluster --dir=./ocp4 --log-level=info→ installer si collega a vCenter, deploya OVA RHCOS, crea VM bootstrap → master → worker - Bootstrap: la VM bootstrap carica
bootstrap.ign, avviabootkube, prepara MCS e etcd temporaneo - Control plane: i 3 master scaricano
master.ign, formano il cluster etcd definitivo, migrano l’API dal bootstrap - Cleanup bootstrap: quando i 3 master sono
Ready, l’installer spegne la VM bootstrap - Compute nodes: i worker scaricano
worker.igndal MCS sui master e si aggiungono - Finalizzazione: cluster operator vengono provisionati; l’installer stampa
KUBECONFIGekubeadmin-password
Durata tipica: 45–75 minuti su vSphere ben dimensionato.
7. Post-install (day-1 → day-2)
export KUBECONFIG=~/ocp4/auth/kubeconfigoc whoamioc get nodesoc get clusterversionoc get coSe oc get co mostra PROGRESSING=True per più di 15 minuti dopo la fine dell’installer, qualcosa è bloccato. Comincia da:
oc get co --no-headers | awk '$3!="True" || $4!="False" || $5!="False"'oc describe co <nome-co-non-True>8. Checklist finale (pre-install)
- vSphere / vCenter 7.0 U2+ (raccomandato 8.0 U1+)
- Service account vCenter creato con privilegi minimi (§2)
- Un datacenter, un cluster, un datastore condiviso, un folder dedicato
- DRS off / manuale su control plane; anti-affinity rules attive
- BH provisionato con
openshift-install+ocscaricati (§4.2) - SSH key generata (§4.3)
- Pull-secret salvato in
~/pull-secret.json - CA di vCenter installata sul BH (§4.5)
- Rete + DNS + DHCP + VIP configurati (vedi Network Requirements)
- NTP sincronizzato su BH e verificabile dai nodi target