Provision workers on Equinix Metal
Equinix Metal is a bare metal cloud service offering a variety machines in different regions in combination with advanced connectivity and storage configurations.
Prerequisites
- Create an Equinix Metal account
- Make sure the machine's outbound network connectivity towards meltcloud is accessible. By default, Internet egress is allowed, so nothing to do.
- If required, you can customize networking and other Equinix Metal features according to the docs
- Create an iPXE Chain URL
- Note down the contents of the displayed iPXE Script.
Deploy a Bare Metal Server
First, make sure Metal CLI is installed.
Create an API Token for Equinix Metal and initialize the CLI environment:
shell
# initialize metal CLI
metal init
Save the contents of the iPXE script from the console to a file:
shell
vi script.ipxe # enter the script from the console, for example:
#!ipxe
iseq ${buildarch} arm64 && set arch arm64 || set arch amd64
dhcp
echo
echo ***** Welcome to meltcloud *****
echo
echo *** Machine ***
echo * UUID: ${uuid}
echo * Arch: ${arch}
echo
echo *** Network ***
echo * Interface: ${ifname}
echo * MAC: ${mac}
echo * IP Address: ${ip}
echo * Netmask: ${netmask}
echo * Gateway: ${gateway}
echo * DNS: ${dns}
echo
echo ***** Start chainloading *****
chain https://app.meltcloud.io/boot/ipxe/eyJfc...?machine_uuid=${uuid}&architecture=${arch} || shell
Create a new machine:
shell
metal device create \
--project-id <project-uuid> \
--plan c3.small.x86 \
--metro fr \
--hostname melt-equinix \
--operating-system custom_ipxe \
--always-pxe \
--billing-cycle hourly \
--userdata-file script.ipxe
After some minutes, your Equinix Metal machine will be registered under Machines in the meltcloud console.
To check the state of your Equinix Metal deployment, simply type:
shell
metal device get
Assign the machine to the designed machine pool as described here to turn it into a worker node.