How to Create a Cluster Template
Coming from another cloud?
▸AWS·EKS Node Groups
This Quake AI feature maps to AWS’s EKS Node Groups.
▸Azure·AKS Node Pools
This Quake AI feature maps to Azure’s AKS Node Pools.
▸Google Cloud·GKE Node Pools
This Quake AI feature maps to Google Cloud’s GKE Node Pools.
How to create a cluster template
Create a cluster template that defines the blueprint for Kubernetes clusters: Kubernetes version, node flavor, network driver, volume driver, and the label set that drives boot volume sizing, floating-IP allocation, and load-balancer behavior. You create the template once and reuse it to provision multiple clusters with the same configuration.
Prerequisites
- ConsoleLogged in to the Quake AI console
- CLIOpenStack CLI installed and authenticated (
clouds.yamloropenrcsourced)
Windows: CLI examples use bash. Set up a Linux CLI environment on Windows before proceeding.
- An external network available in your project (or use the default public network)
- A key pair uploaded to your account for SSH access to cluster nodes
- Familiarity with available flavors; production master nodes typically need at least 4 vCPU and 8 GB RAM
- Available
compute_unitsquota on the project (see Sizing and quota below)
Sizing and quota#
Two Quake AI platform defaults shape the labels and the example flavor below.
Zero-disk flavors require a boot volume. Every Quake AI flavor family (s1a.*, c2a.*, m2a.*, r2a.*) ships with disk: 0. The Compute service rejects server creation against zero-disk flavors unless the request specifies a Block Storage boot volume. Magnum honors this through the boot_volume_size cluster-template label; without that label, cluster creation fails with Forbidden: Only volume-backed servers are allowed for flavors with zero disk (HTTP 403). The platform-provided cluster templates set boot_volume_size: '40'; the examples below match.
compute_units is a per-project quota. Each flavor carries a rumble:compute_units value, visible via openstack flavor show FLAVOR -f json. The default-tier project quota is 8000. Common Magnum-eligible flavors:
| Flavor | vCPUs | RAM | compute_units |
|---|---|---|---|
c2a.large | 2 | 4 GB | 2000 |
c2a.xlarge | 4 | 8 GB | 4000 |
c2a.2xlarge | 8 | 16 GB | 8000 |
A minimum cluster of 1 master (c2a.xlarge) + 1 worker (c2a.large) consumes 6000 compute_units, which fits a fresh 8000-quota project. Existing instances on the project subtract from that budget; check the live total with openstack limits show --absolute before sizing the template. Production sizing (multiple masters or larger workers) requires raising the project quota.
Create the template#
Verify the result#
Confirm the template appears in the template list and the configuration matches your intent:
- Network driver and volume driver are correct
- Enable Load Balancer is on if you plan to use multiple master nodes or want a single API VIP
- Disable TLS stays unchecked for production templates
- Flavor of Nodes meets your workload requirements
- Additional Labels include
boot_volume_size=40andmaster_lb_floating_ip_enabled=true
Next steps#
- Create a Kubernetes cluster using this template
- Kubernetes on Quake AI: architecture, templates, and resource planning
- Cluster Templates Console: manage templates in the console
- Kubernetes CLI reference
k8s-clustertemplate: an OpenTofu module that gives the Kubernetes API endpoint one floating IP, disables node floating IPs, and setsboot_volume_size=40
Usage Guidelines
The sample code, software libraries, command line tools, proofs of concept, templates, and other related technology on this page (including any of the foregoing that is provided by Quake AI personnel) is provided to you as Quake AI Content under the Quake AI Customer Agreement, or the relevant written agreement between you and Quake AI (whichever applies). Do not use this Quake AI Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the Quake AI Content (such as sample code) as appropriate for production grade use based on your specific quality control practices and standards. Deploying Quake AI Content may incur Quake AI charges for creating or using Quake AI chargeable resources, such as running Compute instances or storing data in Object Storage. Your use is also subject to the Acceptable Use Policy.
For the full policy, see Usage Guidelines.
Last validated: 27.05.2026
Quick answers
- Why does a Kubernetes LoadBalancer service stay `<pending>` for several minutes?CLI
- Why does my GitHub Actions or GitLab CI job fail to run `openstack coe` or `kubectl` on a Magnum cluster?CLI
- Why does my Magnum cluster create fail with "Only volume-backed servers" or "Quota exceeded for compute_units"?CLIAPI