Proxy DHCP PXE Booting
Utilize dnsmasq to allow PXE bootstraping your Kubernetes nodes seamlessly.
Most router appliances do not allow the user to properly configure multi-arch pxe booting without modifying the base operating system. These changes would be overwritten on the next firmware update, requiring you to redeploy the changes.
You can get around this by running poseidon/dnsmasq in a container for running DHCP, proxy DHCP, DNS and/or TFTP.
This can be easily deployed on a raspberry pi or other machine stuffed in the back of your lab. This also can be combined with matchbox to facilitate bootstraping nodes with Talos.
How This Works
When your machine wants to connect to the internet, it creates a DHCP Request asking for a address on your local network. Your router usually responds to this request and hands out an address.
Dnsmasq in proxy mode listens for this request, and sends out a second answer to the client with the options required to allow PXE Booting. Dnsmasq simply says: “Hey! You can boot from this server over here. Here’s the details if you need them.” It doesn’t interfer with any of your router’s dhcp options, and your machine will always prefer the dhcp response from your router over the proxy.
Requirements
- A device seperate from your cluster.
- Device must share an address from the network you are running the proxy on.