Skip to content

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

  1. Create an Equinix Metal account
  2. Make sure the machine's outbound network connectivity towards meltcloud is accessible. By default, Internet egress is allowed, so nothing to do.
  3. If required, you can customize networking and other Equinix Metal features according to the docs
  4. Create an iPXE Chain URL
  5. 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.