Start the cluster installation by creating a bootstrap KVM. The bootstrap KVM creates the persistent control plane that the control-plane nodes manage. The bootstrap KVM is created as a VM by using a QEMU emulator in the CSAH node.
[root@csah ~]# systemctl get-default
[root@csah sudoers.d]# nmcli connection modify bridge-br0 ipv4.dns 192.168.46.20
[root@csah sudoers.d]# systemctl restart NetworkManager
[root@csah sudoers.d]# cat /etc/resolv.conf
# Generated by NetworkManager
Note: For KVM to be created using virt-install, a command is generated by the Ansible playbooks and placed under /home/ansible/files directory in a file called bootstrap_command
[root@csah ~] virt-install --name bootstrapkvm --ram 20480 --vcpu 8 --disk path=/home/bootstrapvm-disk.qcow2,format=qcow2,size=200 --os-variant generic --network=bridge=br0,model=virtio,mac=52:54:00:15:91:64 --pxe --boot hd,network &
Do not change the Mac address. This address is auto generated and added in the dhcpd.conf file by the Ansible playbooks. Adding & at the end ensures that the command is run in the background.
Ensure that the partition used to save the disk has enough size. This example uses /home and allocates 200 G to the qcow2 image used by bootstrap KVM. Configure the graphical display to ensure that the PXE menu is displayed.
The following figure shows the PXE menu. If no graphic menu is set, connect to the virtual console in iDRAC and run the command.
The bootstrap KVM menu is displayed, as shown in the following figure:
When the installation process is complete, KVM reboots and boots into the hard disk, as shown in the following figure:
Allow approximately 30 minutes for the ports to show up as listening. If the ports are not up and listening after 30 minutes, reinstall the bootstrap by repeating the preceding steps:
[core@csah ~]$ ssh bootstrap sudo ss -tulpn | grep -E '6443|22623|2379'
tcp LISTEN 0 128 *:22623 *:* users:(("machine-config-",pid=6972,fd=8))
tcp LISTEN 0 128 *:6443 *:* users:(("kube-apiserver",pid=7998,fd=8))
tcp LISTEN 0 128 *:2379 *:* users:(("etcd",pid=6036,fd=5))