Have a quick read through Rancher's documentation on bare-metal booting with iPXE for context and background information.
With this repository, you only have to create your boot.cfg
and cloud-init file and mount it to respective volumes in the docker-compose.yaml file. Start the stack and update your DHCP server to point to the boot filename and TFTP server.
-
Set your DHCP server's client options to point to this Dockerhost's IP for FTFP server and specify bootfile
rancheros.pxe
. -
Modify the following files and the corresponding values for your specification.
File | Value | Notes |
---|---|---|
./ipxe/example/installer.pxe |
${cloud-config.lab} |
Update this placeholder value to the IP of this host that his hosting the config-drive service. |
./ipxe/example/installer.pxe |
{cloud-init-file.yaml} |
Update this placeholder value to the name of your desired cloud-init file for Rancher OS. This filename should match the same file hosted by config-drive : ./config-drive/configs/<cloud-init.yaml> |
./config-drive/configs/<cloud-init.yaml> |
Cloud-init file values | Refer to RancherOS documentation to construct your cloud-init file. |
./docker-compose.yaml |
update volume mount reference ~ line 11 and ~ line 22 | Update placeholder {/your/boot-cfg/data} and {/your/cloud-init/data} to a volume where you will store your cloud-init and boot config files. |
- In this repository's directory, execute
docker-compose up -d
to start the stack.