Enroll Bare Metal Servers
Bare Metal Servers are joined to your meltcloud installation by booting from an Enrollment Image (.iso).
Prerequisites
- Create an Enrollment Image
- Make sure the network requirements are met: Requirements (self-hosted) or Requirements (SaaS)
- Make sure you have a bare metal machine at hand 😉
- To be used as a Machine, the computer requires at least 4GB RAM and at least 20GB disk space for OS installation and OCI image cache.
WARNING
Be aware that meltcloud will wipe the contents of the disk device during enrollment – ensure to save your holiday pictures beforehand!
Boot Options
As described in Enrollment – How to boot an .iso, there are essentially two ways to boot from an .iso:
- attaching it locally, i.e. with a USB Stick/SD-card or virtually via BMC Virtual Media
- network booting it via UEFI HTTP Boot/iPXE
Attach the .iso locally
If DHCP or UEFI HTTP Boot is not supported by the network or the server, attach the .iso locally:
- Download the ISO file from your Enrollment Image and either mount it as a virtual media (i.e. over the Web Console of your server's management interface) or flash it onto a SD-Card or USB drive. To create a bootable drive, either use a tool like Etcher or built-in command line tools of your OS. Example:
# identify the USB/SD device on your local machine
# make sure the device is not mounted
sudo umount /dev/sdd
# copy the ISO with dd onto your drive
sudo dd if=/path/to/iso/enrollment.iso of=/dev/sdd- Once finished, safely remove your drive and plug it into your bare metal machine.
- Make sure your BIOS/UEFI boot settings are configured to allow booting from your SD/USB drive
- The Machine will now automatically boot to
.isoand start enrolling itself to meltcloud.
INFO
After installation, the USB drive can be ejected, as the system will have been installed to the disk.
Network Boot via UEFI HTTP Boot
Launching Machines via UEFI HTTP Boot is the preferred option as it allows automating the process.
Configure the DHCP server for UEFI HTTP Boot
You can provide the URL for UEFI HTTP Boot via DHCP option to your server. An example for dnsmasq:
...
# define an IP range for DHCP
dhcp-range=<ip-from>,<ip-to>,<mask>,<lease-time>
# default DHCP options for gateway and DNS
dhcp-option=option:router,<gateway-ip>
dhcp-option=option:dns-server,<dns-ip>
dhcp-option=option:ntp-server,<ntp-ip>
# Select architecture.
dhcp-match=set:arch_x64,option:client-arch,16
# Send enrollment url as boot file
dhcp-boot=tag:arch_x64,https://app.meltcloud.io/enroll/8/.../amd64.iso
# Send HTTPClient as vendor dhcp options in the dhcp response.
# If this is not set, most UEFI HTTP Boot Server will just ignore the DHCPOffer and time out.
dhcp-pxe-vendor=HTTPClient
dhcp-option-force=tag:arch_x64,option:vendor-class,HTTPClient
...TIP
Be aware that most BIOS' also allow you to enter an UEFI HTTP Boot URL manually as a boot option. This allows you to verify that your server supports UEFI HTTP Boot, before you go ahead and configure the DHCP server.
WARNING
UEFI HTTP Boot support varies heavily between vendors (some only support HTTP, some only HTTPS, some require enrolling CAs, some trust everything). Check your server's manual to check the support first.
Boot Machine
Make sure your computer's BIOS/UEFI boot configuration is set to boot from network.
Power on the computer and verify that it is booting from the Enrollment Image and has started to enroll. Once the enrollment has finished, the boot order will be set to boot from disk and it will reboot.
Troubleshoot
If your server has trouble booting, check out the Enrollment Images – Troubleshooting section.
Once finished, you should be able to find the Machine in your meltcloud installation under Machines.
As a next step, you could assign the Machine to a Machine Pool to turn it into a worker node.
