With everything prepared, it is time to install the baremetal servers. If the previous steps have been doing properly, the ISOs are modified to avoid requiring manual input and the ignition files shall configure the networking to use the DNS we have set.
NOTE: In my environment, it is required to have an iDRAC version >= 2.60.60.60 to be able to map virtual media iso from http.
We will be using a racadm directly from the iDRAC connecting via ssh to avoid installing it locally via sshpass.
# Note: racadm commands will complain about certificates
sudo yum install -y sshpass
# Bootstrap
export IDRACIP=${BOOTSTRAP_IDRAC_IP}
racadm="sshpass -e ssh -oStrictHostKeyChecking=no ${IDRACUSER}@${IDRACIP} racadm"
$racadm remoteimage -d
$racadm remoteimage -c -u "foo" -p "bar" -l ${URL}/bootstrap.iso
$racadm jobqueue delete -i JID_CLEARALL
$racadm set BIOS.OneTimeBoot.OneTimeBootMode OneTimeBootSeq
$racadm set BIOS.OneTimeBoot.OneTimeBootSeqDev Optical.iDRACVirtual.1-1
$racadm jobqueue create BIOS.Setup.1-1 -r pwrcycle
install_host(){
racadm="sshpass -e ssh -oStrictHostKeyChecking=no ${IDRACUSER}@${IDRACIP} racadm"
$racadm remoteimage -d
$racadm remoteimage -c -u "foo" -p "bar" -l ${URL}/${NODE}.iso
$racadm jobqueue delete -i JID_CLEARALL
$racadm set BIOS.OneTimeBoot.OneTimeBootMode OneTimeBootSeq
$racadm set BIOS.OneTimeBoot.OneTimeBootSeqDev Optical.iDRACVirtual.1-1
$racadm jobqueue create BIOS.Setup.1-1 -r pwrcycle
}
# Masters
export IDRACIP=${MASTER0_IDRAC_IP}
export NODE='master-0'
install_host
export IDRACIP=${MASTER1_IDRAC_IP}
export NODE='master-1'
install_host
export IDRACIP=${MASTER2_IDRAC_IP}
export NODE='master-2'
install_host
# Workers
export IDRACIP=${WORKER0_IDRAC_IP}
export NODE='worker-0'
install_host
After a while, the hosts will be running RHCOS, then wait until the bootstrap process ends:
openshift-install --dir=$(readlink -f ~/ocp-clusters/${CLUSTER_NAME}) --log-level debug \
wait-for bootstrap-complete
Then, wait until the install is complete:
openshift-install --dir=$(readlink -f ~/ocp-clusters/${CLUSTER_NAME}) --log-level debug \
wait-for install-complete
WARNING: The installation won't finish until the image registry has been deployed. As there is no storage available, emptydir will be used (not recommended for production!!!):
oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'
<< Previous: Configure oc
command | README | Next: Post installation >>