Prerequisites
Before creating an UpCloud cluster, you need two credentials:UpCloud API Credential
An UpCloud API token with read/write permissions. See UpCloud Credentials.
SSH Key Credential
An SSH public key for server access. You can provide your own or let Ankra generate one. See SSH Key Credentials.
Creating an UpCloud Cluster
Via the Platform UI
A guided wizard walks you through creating an UpCloud cluster - select credentials, pick a datacenter zone, choose server plans, set control plane and worker counts, and launch.1
Navigate to Clusters
Go to Clusters in the Ankra dashboard and click Create Cluster.
2
Select UpCloud
Choose UpCloud as the provider.
3
Select Credentials
Pick your UpCloud API credential and SSH key credential from the dropdowns. You can also create new credentials directly from the wizard.
4
Choose Datacenter Zone
Select an UpCloud zone (e.g., Helsinki, Frankfurt, Chicago, Amsterdam). Each zone shows the location and country.
5
Configure Nodes
Set your cluster topology:
- Bastion - server plan for the SSH bastion host (e.g.,
1xCPU-1GB) - Control Plane - count (1 or 3) and plan (e.g.,
2xCPU-4GB) - Workers - count and plan (e.g., 2x
4xCPU-8GB)
6
Create & Track Progress
Click Create to start provisioning. A live progress view tracks every step - credential setup, router creation, network creation, gateway setup, SSH key deployment, bastion provisioning, server creation, Kubernetes installation (kubeadm or k3s), and Ankra Agent setup. The cluster appears with an offline state until provisioning completes, then transitions to online.
Managing from the Dashboard
Once your UpCloud cluster is online, you can manage it directly from the Ankra dashboard:- Scale workers - go to Cluster Settings → General to scale worker nodes up or down
- Upgrade Kubernetes - upgrade the Kubernetes version from cluster settings
- Deprovision - delete the cluster and all UpCloud resources from the Danger Zone in cluster settings
Via the CLI
Via the API
Node Groups
Node groups let you organize worker nodes into logical groups with independent server plans, counts, labels, and taints. Each group can be scaled, re-planned, and configured independently.Via the Platform UI
Navigate to cluster Settings > Nodes to manage node groups. From this tab you can:- View all node groups with their server plan, count, labels, and taints
- Add new node groups with a name, server plan, count, and optional labels/taints
- Scale individual groups up or down (0–100 nodes)
- Upgrade the server plan (upgrade only - see Server Plan Changes)
- Edit labels and taints per group
- Delete a node group and all its nodes
List Node Groups
Add a Node Group
Scale a Node Group
Server Plan Changes
Update Labels and Taints
Delete a Node Group
Node Group API Reference
All node-group operations are also available via the REST API - see the UpCloud Node Group API.Restarting a Node
Restart any node - a control plane node, a worker, or the bastion - as a tracked operation, from cluster Settings > Nodes in the dashboard, via the CLI, or via the API:Resizing the Bastion or Gateway
Resize the bastion without recreating the cluster - Ankra powers it off, resizes it, and powers it back on.Legacy Worker Scaling
The legacyscale-workers and worker-count endpoints still work for backward compatibility.
For new clusters, prefer using Node Groups for more granular control.
Upgrading Kubernetes Version
You can upgrade the Kubernetes (k3s) version on all nodes in an UpCloud cluster. Upgrades are applied to control plane nodes first, then workers.Via the Dashboard
Go to your cluster → Settings → General to see the current k3s version and trigger an upgrade.Check Current Version
Upgrade Version
Stopping and Starting a Cluster
You can stop an UpCloud cluster to release its compute (node servers, the bastion, and the NAT gateway) while keeping its configuration, networking definition, and SSH keys. Starting the cluster re-provisions the compute and reconciles it back to a running state. This is useful for pausing non-production clusters to save cost. When starting, use--scope control_plane to bring up only the control plane first (for example to inspect or repair it), or --scope all (the default) to provision the whole cluster.
Stop and start are background operations. A start returns
409 if a stop or terminate operation is still running. The cluster’s saved topology is preserved while stopped - ankra cluster upcloud nodes list includes the soft-deleted entries that are re-provisioned on the next start.--force (or ?force=true on the API) to delete them together with any load balancers the cluster created. Ankra deletes exactly the volumes it recorded for this cluster, never other disks in the account.
Deprovisioning
Deprovisioning deletes all UpCloud resources (servers, networks, routers, gateways, SSH keys) and removes the cluster from Ankra.Via the Dashboard
Go to your cluster → Settings → General → Danger Zone and click Deprovision Cluster. You will be asked to confirm before the operation begins.Via CLI or API
--force deletes both along with the rest of the infrastructure, tolerates unreachable cluster infrastructure, and works on a cluster that was stopped earlier: the volumes recorded at stop time are still known and get reclaimed. Ankra deletes exactly the volumes it recorded for this cluster, never other disks in the account.
Architecture
An UpCloud cluster provisions the following infrastructure:
All nodes are deployed within a private UpCloud SDN network and have no public interfaces. The managed NAT gateway (attached to the router) handles all outbound traffic; the bastion is an SSH jump host only - no workload or egress traffic flows through it. Ankra connects to the bastion’s public IP to provision nodes, install Kubernetes, and run upgrades and reconciliation.
Ankra also deploys an upcloud-cloud-provider stack (UpCloud CCM and CSI) after the Ankra Agent is installed, providing
LoadBalancer services and persistent storage backed by your API credential.
Troubleshooting
Common Issues
UpCloud Account Quotas
UpCloud has default resource limits per account. If provisioning fails, check your quotas in the UpCloud Control Panel:- Servers
- Networks
- Routers
- IP Addresses