On-Premises clusters
On-premises clusters run on infrastructure you control — bare-metal servers, local VMs, or LXD containers. Vantage supports multiple methods for connecting your infrastructure, each suited to a different use case and level of automation.
AnsiblePrerequisites
All on-premises methods require:
- A Vantage account and organization (Sign up)
- A configured On-Premises or LXD Cloud Account
- Outbound HTTPS access (port 443) from your infrastructure to Vantage servers
- Ansible
- Terraform
- Kubernetes
- Juju
- Multipass
- Manual
Use the vantage-agents Ansible role to automate connecting your Slurm cluster to Vantage. The role installs and configures both vantage-agent and jobbergate-agent on your controller node.
Prerequisites
- An existing Slurm cluster with SSH access to the controller node
- Ansible 2.9+ installed on your workstation
- OIDC credentials from your Vantage cluster (client ID and client secret)
1. Create a Slurm cluster in Vantage
-
Open Clusters — Click Clusters in the left sidebar, then click Slurm in the cluster type navigation, then click Prepare Cluster.
-
Configure the cluster:
- Enter a Cluster Name (max 27 characters, must be unique).
- Select your On-Premises or LXD cloud account.
-
Submit — Click Create Cluster. Note the OIDC Client ID and OIDC Client Secret from the cluster detail page — you will need these in the next step.
2. Install the Ansible role
ansible-galaxy install git+https://github.com/vantagecompute/ansible-role-vantage_agents.git,vantage_agents
3. Create a playbook
- hosts: util_node
become: true
vars:
oidc_client_id: "<your-oidc-client-id>"
oidc_client_secret: "<your-oidc-client-secret>"
cluster_name: "<your-cluster-name>"
install_type: "snap" # or "pypi"
roles:
- role: vantage_agents
4. Run the playbook
ansible-playbook -i your_inventory your_playbook.yml
5. Verify the connection
Once the playbook completes:
- The cluster transitions from
preparingtoreadyin the Vantage UI - Nodes appear in the cluster detail page as they register
- You can submit jobs and launch notebooks immediately
The Ansible role supports both Snap (default) and PyPI installation methods. Set install_type: "pypi" in your playbook vars to use Python virtual environments with systemd services instead of Snap packages.
Next steps
Use the terraform-vantage-agents module to automate connecting your Slurm cluster to Vantage. The module SSH-es into your controller node and installs both vantage-agent and jobbergate-agent.
Prerequisites
- An existing Slurm cluster with SSH access to the controller node
- Terraform 1.0+ installed on your workstation
- OIDC credentials from your Vantage cluster (client ID and client secret)
1. Create a Slurm cluster in Vantage
-
Open Clusters — Click Clusters in the left sidebar, then click Slurm in the cluster type navigation, then click Prepare Cluster.
-
Configure the cluster:
- Enter a Cluster Name (max 27 characters, must be unique).
- Select your On-Premises or LXD cloud account.
-
Submit — Click Create Cluster. Note the OIDC Client ID and OIDC Client Secret from the cluster detail page — you will need these in the next step.
2. Configure the Terraform module
module "vantage_agents" {
source = "github.com/vantagecompute/terraform-vantage-agents"
ssh_user = var.ssh_user
ssh_private_key = file(var.ssh_private_key)
host = var.host
oidc_client_id = var.oidc_client_id
oidc_client_secret = var.oidc_client_secret
cluster_name = var.cluster_name
# Optional: set to "pypi" for Python venv + systemd instead of Snap
# install_type = "pypi"
}
3. Apply the configuration
terraform init
terraform apply
4. Verify the connection
Once Terraform completes:
- The cluster transitions from
preparingtoreadyin the Vantage UI - Nodes appear in the cluster detail page as they register
- You can submit jobs and launch notebooks immediately
The Terraform module supports both Snap (default) and PyPI installation methods. Set install_type = "pypi" to use Python virtual environments with systemd services instead of Snap packages.
Next steps
Connect an existing Kubernetes cluster to Vantage. Vantage does not provision cloud resources for on-premises K8s — you provide the compute infrastructure.
Prerequisites
- An existing Kubernetes cluster with a reachable API server
- A configured On-Premises or LXD cloud account in Vantage
- Outbound HTTPS access (port 443) from your cluster to Vantage servers
1. Create a Kubernetes cluster in Vantage
-
Open Clusters — Click Clusters in the left sidebar (the Kubernetes view is shown by default), then click Prepare Cluster.
-
Configure:
- Enter a Cluster Name.
- Select your On-Premises or LXD cloud account.
-
Submit — Click Create Cluster. The modal closes and you are redirected to the cluster view.
2. Connect your cluster
After creating the cluster, the cluster detail page shows that the connection is not yet established and provides instructions for connecting your infrastructure.
Follow the on-screen instructions to install the Vantage connector on your cluster. The connector only needs outbound HTTPS access to Vantage servers (port 443). If your cluster is behind a firewall, ensure outbound connectivity is not blocked.
Once the connector is active:
- The cluster transitions from
preparingtoready - Nodes appear in the cluster detail page as they register
- You can launch notebooks and deploy workloads immediately
Multipass and Juju on-premises clusters only support Slurm, not Kubernetes. For Kubernetes on your own hardware, use this method.
Troubleshooting
Cluster stays in "preparing"
- Verify the connector was installed and is running on your control plane node.
- Check that port 443 outbound is not blocked by a firewall.
- Confirm the cloud account credentials are valid.
Nodes not appearing
- Install the connector on each worker node, not just the control plane.
- Check that each node can reach Vantage servers over HTTPS.