Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save dwojciec/b89d988b798e5a3c8447f6ec1a0b5d7a to your computer and use it in GitHub Desktop.
Save dwojciec/b89d988b798e5a3c8447f6ec1a0b5d7a to your computer and use it in GitHub Desktop.
Openshift 4.2 on VMware using govc
curl https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.2/4.2.0/rhcos-4.2.0-x86_64-vmware.ova -o rhcos-4.2.0-x86_64-vmware.ova
govc import.ova -name=rhcos-4.2.0-x86_64-vmware ./rhcos-4.2.0-x86_64-vmware.ova
export GOVC_URL='vsphere.server.local
export GOVC_USERNAME='admin@vsphere.local'
export GOVC_PASSWORD='password
export GOVC_INSECURE=1
export GOVC_NETWORK='NETWORK'
Bootstrap node
bootstrap=$(cat append-bootstrap.ign | base64 -w0)
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=BootstrapNode -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:4c:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift bootstrap001.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${bootstrap}" -vm=bootstrap001.ocp4.example.com
govc vm.power -on=true bootstrap001.ocp4.example.com
Master Nodes
master=$(cat master.ign | base64 -w0)
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=MasterNode001 -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:ef:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift master001.ocp4.example.com
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=MasterNode001 -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:4e:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift master002.ocp4.example.com
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=MasterNode001 -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:a0:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift master003.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${master}" -vm=master001.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${master}" -vm=master002.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${master}" -vm=master003.ocp4.example.com
govc vm.power -on=true master001.ocp4.example.com
govc vm.power -on=true master002.ocp4.example.com
govc vm.power -on=true master003.ocp4.example.com
Worker Nodes
worker=$(cat worker.ign | base64 -w0)
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=WorkerNode001 -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:ef:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift worker001.ocp4.example.com
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=WorkerNode001 -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:4e:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift worker002.ocp4.example.com
govc vm.clone -vm rhcos-4.2.0-x86_64-vmware -annotation=WorkerNode001 -c=4 -m=16384 -net <vm_network> -net.address 00:50:56:8c:a0:xx -on=false -folder=ocp4 -datastore-cluster=<datastore-cluster> -pool=Openshift worker003.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${worker}" -vm=worker001.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${worker}" -vm=worker002.ocp4.example.com
govc vm.change -e="guestinfo.ignition.config.data=${worker}" -vm=worker003.ocp4.example.com
govc vm.power -on=true worker001.ocp4.example.com
govc vm.power -on=true worker002.ocp4.example.com
govc vm.power -on=true worker003.ocp4.example.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment