0 of 15 done
Appendix

Run the four machines locally with Multipass

The course needs four machines running Debian 12 (bookworm) on ARM64. You can run all four on a Mac with Apple Silicon using Multipass, which is Canonical’s tool for running small Linux machines on macOS. Multipass uses Apple’s own virtualization framework, so the machines run at native speed with no emulation.

Resource totals across the four machines are 4 CPUs, 6.5GB of RAM, and 70GB of disk. A Mac with 16GB of RAM or more handles this with room to spare.

One thing to know first

The built-in multipass launch debian image tracks Debian 13 (trixie), not the Debian 12 (bookworm) this course uses. So you do not use the short name. You pass the official Debian 12 cloud image URL directly to multipass launch, which accepts a URL in place of an image name. The Debian Cloud team publishes the ARM64 image at cdimage.debian.org.

Step 1: install Multipass

brew install --cask multipass

If you do not use Homebrew, download the macOS installer from the Multipass releases page on GitHub instead.

Step 2: launch the four machines

Run these four commands. Each one creates a machine with the CPU, memory, and disk the course asks for.

IMG="https://cdimage.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-arm64.qcow2"

multipass launch "$IMG" --name jumpbox --cpus 1 --memory 512M --disk 10G
multipass launch "$IMG" --name server  --cpus 1 --memory 2G   --disk 20G
multipass launch "$IMG" --name node-0  --cpus 1 --memory 2G   --disk 20G
multipass launch "$IMG" --name node-1  --cpus 1 --memory 2G   --disk 20G

Step 3: confirm the operating system

Check that each machine runs Debian 12. Repeat for server, node-0, and node-1.

multipass exec jumpbox -- cat /etc/os-release

You should see VERSION_ID="12" and VERSION_CODENAME=bookworm in the output.

Step 4: find each machine’s IP address

The course uses a file called machines.txt that lists each machine’s IP address. Get the current addresses with:

multipass list

You will use these addresses in lab 03 when you create machines.txt. Multipass assigns these addresses over DHCP, so they can change if you stop and start a machine. Try not to restart the machines in the middle of the course. If an address does change, run multipass list again and update machines.txt.

Step 5: enable root SSH access

Debian disables SSH login for the root user by default. Lab 03 turns it on. You can do it now for the three cluster machines with these commands.

for m in server node-0 node-1; do
  multipass exec "$m" -- sudo bash -c \
    "sed -i 's/^#*PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config && systemctl restart ssh"
done

Step 6: open a shell on the jumpbox

From here on, you run the course from inside the jumpbox.

multipass shell jumpbox

Continue with lab 02, which sets up the jumpbox tools.

When you are done

To stop the machines and free memory:

multipass stop jumpbox server node-0 node-1

To delete them completely and reclaim disk:

multipass delete --purge jumpbox server node-0 node-1

Moving to the cloud later

You can run the same course on cloud machines instead. Provision four Debian 12 machines on a provider such as DigitalOcean or AWS, make sure they can reach each other and accept SSH, then follow the labs unchanged from lab 02 onward. The cloud version is a good second pass once you have done it locally.