Suspend a machine to stop paying for compute while keeping your data safe. When you suspend a machine, Akua takes a snapshot of the disk, deletes the cloud server (billing stops), and stores the snapshot. Resume creates a new server from the snapshot; your machine comes back with the same hostname, Kubernetes identity, and local data intact.Documentation Index
Fetch the complete documentation index at: https://akua-1dce587a.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
This page covers machine-level suspend and resume. For cluster-level suspension (pausing the Kubernetes control plane when you have no attached compute), see Cluster suspension.
Cost comparison
| State | 40 GB disk cost (Hetzner) | Notes |
|---|---|---|
| Running (cx23) | ~€4.11/month | Full compute and storage |
| Suspended (snapshot) | ~€0.40/month | Storage only (about 90% savings) |
| Deleted | €0/month | Data permanently removed |
How to suspend
- Go to your cluster’s Machines tab.
- Click the menu on the machine you want to suspend.
- Choose Suspend machine.
- Confirm in the dialog.
- Gracefully shuts down the server.
- Creates a snapshot of the full disk.
- Deletes the cloud server (billing stops).
- Shows the machine in the Suspended Machines section.
How to resume
- Find the machine in the Suspended Machines section.
- Click Resume.
- Creates a new server from the snapshot.
- Waits for it to boot.
- Deletes the snapshot (data is now on the new server).
- The machine rejoins your cluster automatically.
What’s preserved
| Data type | Preserved | How |
|---|---|---|
| Local storage (local-path-provisioner) | Yes | Disk data is in the snapshot |
| LINSTOR/DRBD volumes | Yes | DRBD replicas on other nodes stay intact and auto-resync on return |
| Kubernetes node identity | Yes | Same hostname from snapshot; kubelet reconnects |
| PersistentVolume bindings | Yes | Node affinity uses hostname label, which matches on resume |
| Running pods | No | Pods are evicted on suspend and rescheduled on resume |
Provider differences
Different cloud providers handle billing on stopped servers differently. Akua abstracts this: the suspend and resume API is the same regardless of provider.| Provider | What happens on suspend |
|---|---|
| Hetzner, DigitalOcean, Vultr, Linode, OVH | Snapshot disk and delete server (these providers bill for stopped servers) |
| AWS, GCP, Azure | Stop instance (compute billing stops automatically) |
Public IP changes on resume
The machine’sprovider_resource.identity_kind field reflects this: recyclable for providers where the cloud resource is replaced on suspend, persistent for providers where it is merely stopped. See Machines: provider resource identity for field details.
Providers affected
| Behavior | Providers |
|---|---|
| IP changes on resume (snapshot and delete) | Hetzner, DigitalOcean, Vultr, Linode, OVH |
| IP stable across stop and start | AWS, GCP, Azure |
If you need a stable public IP
Three approaches, in order of simplicity:- Floating IP (Hetzner): attach a Hetzner Floating IP to your machine. This is a static IPv4/IPv6 address you own independently of any server. After each resume, re-attach the Floating IP to the new server in the Hetzner Cloud Console. Automated re-attachment is planned but not yet implemented in Akua. A Floating IP costs ~€3.81/month when not attached to a running server; it is free while attached.
- Short-TTL DNS: point a DNS record at your machine’s current public IP with a TTL of 60 seconds or less. After resume, update the DNS record. Services that support dynamic DNS (such as deSEC or Cloudflare) can automate this with a lightweight script.
- Load balancer: place a load balancer in front of the machine. The load balancer has a stable IP; backends can change freely. This is the most robust option if you need zero-downtime failover.
What is not affected
- Local storage and LINSTOR volumes: disk data is captured in the snapshot and restored intact.
- Kubernetes ClusterIP and service IPs: these are internal addresses assigned by the Kubernetes control plane. They are unaffected by the node’s public IP changing.
- Machine ID and hostname: the Akua Machine ID and the Kubernetes node hostname remain constant. Kubernetes recognizes the resumed node as the same node and rebinds volumes automatically.
Auto-suspend on subscription downgrade
When your Pro subscription ends, Akua automatically suspends all platform-managed machines instead of deleting them:- Subscription ends: machines are suspended.
- Snapshots are kept for 90 days.
- Re-subscribe: your dashboard shows suspended machines with a Resume button.
- After 90 days: snapshots are permanently deleted.
BYOM machines are not affected by subscription changes. They stay running because you pay the cloud provider directly.
Snapshot retention
Suspended machine snapshots are kept for 90 days. After that, they are permanently deleted. The dashboard shows the expiration date for each suspended machine. To permanently delete a suspension early (and its snapshot), click the trash icon next to the suspended machine. This is irreversible.API
Manage machine suspension programmatically.Machines API reference
Suspend, resume, and list suspension events for machines.
Authentication
Set up API tokens for programmatic access.
Related topics
Machines
Full machine lifecycle including provisioning and deletion.
Cluster suspension
Pause the Kubernetes control plane when you have no attached compute.
Hetzner Cloud
Hetzner-specific billing model and snapshot pricing.
Plans and pricing
Understand what happens to machines when your plan changes.