Skip to main content

Deploy Slurm locally with the CLI

Deploy Slurm clusters on your local machine using Multipass, LXD, or MicroK8S through the v8x

Deploy Slurm locally with the CLI

Deploy Slurm clusters on local development environments using the v8x.

TimeAbout 10-15 minutes
You will needv8x installed and authenticated, a localhost cloud account, and one of: Multipass, LXD, or MicroK8S installed
OutcomeA running Slurm cluster on your local machine

The v8x can deploy Slurm clusters to local development environments using deployment applications targeting localhost. Each application handles provisioning and configuration for a specific local hypervisor or runtime.

Inspect the available applications

Start by exploring the deployment applications available for localhost:

uvx v8x app list --provider localhost

The relevant applications for local Slurm are:

  • slurm-multipass-localhost - single-node Slurm on Multipass VMs
  • slurm-juju-localhost - Charmed HPC Slurm on LXD via Juju
  • slurm-microk8s-localhost - Slurm on Kubernetes (MicroK8S)

Create a localhost cloud account

Before deploying a cluster, create a cloud account for the localhost provider:

uvx v8x cloud account create my-localhost --provider localhost

This registers your local machine as a compute target. The command returns the cloud account ID, which you need in the next step.

Success looks like this: the new account appears in uvx v8x cloud account list with provider localhost.

Deploy Slurm on Multipass

Deploy a single-node Slurm cluster using Multipass VMs:

uvx v8x cluster create my-slurm-multipass-cluster \
--cloud-account-id <ID> \
--app slurm-multipass-localhost

Customise the VM resources with --options:

uvx v8x cluster create my-slurm-multipass-cluster \
--cloud-account-id <ID> \
--app slurm-multipass-localhost \
--options operating_system=rockylinux9,cpu=4,mem=8,disk=128G

Key options:

  • --cloud-account-id (required) - the ID of your localhost cloud account
  • --app (required) - set to slurm-multipass-localhost
  • --options - comma-separated key=value pairs for operating system, CPU, memory, and disk

Success looks like this: the cluster enters provisioning and transitions to ready once Multipass finishes creating the VM and Slurm is configured.

Deploy Slurm on LXD

Deploy a Charmed HPC Slurm cluster on LXD via Juju:

uvx v8x cluster create my-slurm-lxd-cluster \
--cloud-account-id <ID> \
--app slurm-juju-localhost

This uses Juju to deploy the Charmed HPC Slurm bundle on your local LXD instance.

Success looks like this: the cluster enters provisioning. Juju deploys the Slurm controller, workers, and related charms. The cluster becomes ready once all units are active.

Deploy Slurm on MicroK8S

Deploy Slurm on a MicroK8S Kubernetes cluster:

uvx v8x cluster create my-slurm-microk8s-cluster \
--cloud-account-id <ID> \
--app slurm-microk8s-localhost

After deployment, add SSSD configuration if needed:

uvx v8x deployment slurm-microk8s-localhost deploy \
--sssd-conf="$(juju exec --unit nfs-home/leader 'cat /etc/sssd/sssd.conf')"

Success looks like this: the cluster moves through provisioning to ready. The Slurm controller, workers, and supporting services run as pods in the MicroK8S cluster.

Ask AI
Ask a question about Vantage Compute...