Cloud providers

For per-cloud setup details, CNI configuration, and step-by-step instructions, see the dedicated pages:

How to enable CLM

The recommended way to enable CLM is through the Cast AI console. When you enable CLM on a node template, the Cast AI platform automatically installs the CLM components and labels nodes with live.cast.ai/install: "true". The live.cast.ai/migration-enabled label is set internally by the daemon when each node is ready — do not set it manually.

Node-level configuration (image family, AMI, instance type, etc.) is managed through Cast AI node configurations, not by running raw cloud CLI commands.


TCP preservation paths by cloud

Each cloud supports different paths for preserving TCP connections during migration:

PathEKSGKEAKSPod IP after migration
VPC CNI (IP preserved)✅ Default❌ Not available❌ Not availableSame IP
Traffic Control (TC) (packet rewriting)✅ Kernel 6.6+✅ Kernel 6.6+ (COS)✅ Kernel 6.6+ (Ubuntu 24.04 / Azure Linux 3.0)New IP
Calico as full CNI (VXLAN overlay, IP preserved)✅ Replace VPC CNI❌ Not available✅ Via BYO CNISame IP
🚧

Important

Calico as a network policy engine on top of the cloud's native CNI is NOT the same as Calico as the full CNI with VXLAN. IP preservation only works when Calico is the full CNI. See each cloud's dedicated page for installation instructions.


Supported node images

CloudNode imageTypical kernelTC support (6.6+)ARM64Supported by CLM
EKSAL2023 standard6.1 (K8s 1.30–1.32), 6.12 (1.33+), 6.18 (1.36)✅ on K8s 1.33+✅ Graviton
EKSAL2023 NVIDIA/Neuron6.12 (K8s 1.33+)✅ Yes✅ Graviton
EKSBottlerocket6.1 or 6.12✅ on 6.12✅ Graviton❌ Not supported (planned)
GKEContainer-Optimized OS (COS)6.6 (m121), 6.12 (m125+)✅ Yes✅ Axion C4A
GKEUbuntu5.15 or 6.8❌ on 5.15, ✅ on 6.8✅ Axion C4A
AKSUbuntu 22.04 (default K8s 1.25–1.34)5.15❌ No✅ Cobalt 100
AKSUbuntu 24.04 (default K8s 1.35+)6.8✅ Yes✅ Cobalt 100
AKSAzure Linux 3.06.6✅ Yes✅ Cobalt 100

Always verify the actual kernel with uname -r — image kernels change over time.


ARM64 support

CloudProcessorInstance familiesStatusIterative pre-dumps
EKSAWS Gravitonm7g, c7g, r7g, t4gGA❌ Disabled (freeze = full dump)
GKEGoogle AxionC4AGA❌ Disabled (freeze = full dump)
GKEGoogle AxionN4APreview❌ Disabled (freeze = full dump)
AKSMicrosoft Cobalt 100Dpsv6, Dplsv6, Epsv6GA❌ Disabled (freeze = full dump)

Iterative pre-dumps reduce migration freeze time by taking successive memory snapshots while the pod continues running. Only the final dump freezes the process. On ARM64, this feature is disabled because ARM64 kernels lack the soft-dirty bit support required for incremental memory dumps. The migration still works correctly, but the freeze time equals the full memory dump time — which is longer for memory-hungry workloads.


PVC and zone support (all clouds)

The system supports both zonal and regional persistent volumes on all clouds:

  • Zonal PVs (single-zone): source and destination must be in the same zone.
  • Regional PVs (multi-zone): destination can be in any zone listed in the PV's NodeAffinity.
  • If the PV has no zone affinity, the migration is allowed regardless of zone.
  • The system checks topology.kubernetes.io/zone, topology.gke.io/zone, and failure-domain.beta.kubernetes.io/zone labels.

Comparison table

FeatureEKS (AWS)GKE (GCP)AKS (Azure)
Supported node OSAmazon Linux 2023COS, UbuntuUbuntu 22.04/24.04, Azure Linux 3.0
Bottlerocket❌ Not supported (planned)N/AN/A
Default CNIAWS VPC CNIGKE VPC-native CNI (Cilium with Dataplane V2 optional)Azure CNI
TCP — VPC CNI path✅ Yes (IP preserved)❌ No❌ No
TCP — TC path✅ on kernel 6.6+✅ on COS (kernel 6.6+)✅ on Ubuntu 24.04 / Azure Linux 3.0
TCP — Calico full CNI (VXLAN)✅ Replace VPC CNI❌ Not available✅ Via BYO CNI
TC on default node image✅ (AL2023 K8s 1.33+ = 6.12)✅ (COS = 6.6+)❌ (Ubuntu 22.04 = 5.15)
ARM64✅ Graviton (no pre-dumps)✅ Axion C4A (no pre-dumps)✅ Cobalt 100 (no pre-dumps)
Subnet constraint (VPC CNI path)✅ Same subnet required❌ No VPC CNI path❌ No VPC CNI path
PVC zone constraint (all modes)✅ Zonal: same zone; Regional: multi-zone✅ Zonal: same zone; Regional: multi-zone✅ Zonal: same zone; Regional: multi-zone
GPU workloads❌ Not supported❌ Not supported❌ Not supported
Container runtimecontainerdcontainerdcontainerd

Unsupported on all clouds

  • GPU workloads — not currently supported. Pods requesting GPU resources (nvidia.com/gpu, amd.com/gpu, intel.com/gpu) cannot be migrated. GPU support is planned, with no ETA.
  • DaemonSets — one pod per node; no destination to migrate to.
  • Cross-architecture migration — amd64 to arm64 or vice versa is forbidden.
  • Windows nodes — Linux only.
  • Non-containerd runtimes — the CRI proxy requires containerd.

Cloud-specific unsupported images

  • Bottlerocket (EKS) — not detected by the daemon installer. Support is planned but has no ETA.
  • Amazon Linux 2 (EKS) — no longer supported. End of support was November 2025.

See also


Did this page help you?