How It Fits
In Kubernetes terms, a replica is a pod. A workload runs in every location its GVC spans. What runs in one location is a set of replicas, and that set is the workload’s deployment in that location.Key Behaviors
- Each location scales on its own. Autoscaling raises and lowers each location’s replica count between
minScaleandmaxScale(defaults 1 and 5), steering toward the target you set: concurrent requests, requests per second, CPU, memory, or latency, whichever of those the workload’s type supports. The metricdisabledpins every location atminScale. - A replica reserves CPU and memory; the reservation is what you pay for. Each container states its CPU and memory (defaults
50mand128Mi), and the replica holds that capacity whether the process uses it or not. Capacity AI can size the reservation from real usage instead. Every container also gets at least 1GB of local SSD scratch space, and 1GB per CPU core when it requests more than one. - Zero replicas is a working state. A
serverlessworkload with no traffic scales to zero after a delay (default 300 seconds), and a request that arrives while no replica is running waits for the first one to start instead of failing. Whether a workload can reach zero at all depends on its type. - A failing container is restarted; a stopped replica is replaced. A container that crashes or stops passing its liveness probe is restarted in place, inside its replica.
cpln workload replica stopdeletes the whole replica, and Control Plane starts a replacement to keep the count; use it to clear a wedged process without touching the workload’s other replicas. - Replicas of a
statefulworkload keep their identity. Each is numbered from 0 up; a replacement keeps the same number and reattaches the same volume, and replica-direct gives each numbered replica a stable network address, which is how database nodes find each other. - Every replica has a name you can act on. Logs and metrics carry a
replicalabel, so one failing replica stands out from its peers.cpln workload replica getlists the names of the running replicas,cpln workload connectopens a shell in one of them, and with debug headers on, thex-cpln-replicaresponse header names the replica that served the request. - Replicas spread out for availability. Control Plane places a location’s replicas on separate machines, and multi-zone spreads them across the location’s availability zones too. Running in every location the GVC spans is the widest layer of the same idea: separate regions, separate providers.
Gotchas
maxScalecaps a location, not the workload. A GVC spanning three locations withmaxScale: 5can run 15 replicas, so count locations when you size the range and the bill.- A fresh workload runs one replica per location.
minScaledefaults to 1, which is a single point of failure in each location and below the two replicas the SLA requires; raise it to 2 for production. - Raising
maxScalemeets a quota. The default cap is 5 replicas per workload, counted separately for replica-direct workloads, and a higher value is rejected withOne or more containers exceed the autoscaling.maxScale of 5 (quota: replicas-per-workload). Request quota increase. See quotas for raising it. - Local disk dies with the replica. Everything a container writes outside a volume-set mount is scratch space, gone when the replica is replaced, and writing past the scratch allowance is itself what gets a replica replaced.
- A replica name is an address only on
statefulworkloads. Every other type’s replicas take a new name at each replacement, and replica-direct elsewhere is rejected withreplicaDirect is only available for stateful workloads.
Learn More
Deployment reference
The per-location report: replica counts per version, readiness, restarts, and how to read a rollout.
Autoscaling reference
Every strategy and option behind the replica count, from fixed to latency-based to KEDA.
Workload
The unit a replica copies: containers, type, identity, endpoints, and firewall.
Connect to Workloads
Open a shell inside a running replica from the Console or the CLI.