Skip to content

Limits

ResourceLimit
Listeners per load balancer50
Explicit targets per listener32
Subnets attached to one gateway16
Domains on one certificate20
Control-plane machines per Kubernetes cluster1 or 3
Nodes per object storage cluster1 or 3
Subnets per private network16 (the /20 allocation divided into /24s)
Public addresses per server1
Public addresses per gateway or load balancer1

Not quotas — things the model does not permit at all.

ConstraintWhy
A data subnet can never have egressThe tier is enforced, not advisory
All listeners on one port share a protocolMixing pass-through and termination on one port needs a two-stage loop-back arrangement in HAProxy
A load balancer only reaches its own private networkIt has one leg
Nothing crosses regionsNo shared networks, addresses, images or migration
Subnet tier is immutableChosen at creation
Disks grow, never shrinkA property of the storage
A tcp listener with a hostname only serves TLS clientsRouting uses SNI; there is nothing else to match on
LimitSourceConsequence
~50 certificates per registered domain per weekLet’s EncryptExceeding it blocks issuance for that domain
5 identical certificates per weekLet’s EncryptWhy an existing certificate is reused rather than re-requested
Provider API rate limitsDNS providerTransient failures surface as 503; retried with backoff
VLAN identifier spaceYour switchesIn VLAN mode, bounds the number of subnets per region

Poll jobs no faster than every five seconds. A job is talking to a hypervisor.

Do not retry a 409 unchanged. It means a precondition failed, and the same request produces the same conflict. The message names the precondition.

Expect certificate issuance to take minutes. The challenge record has to be published and observed by public resolvers before Let’s Encrypt is asked to look.

Expect cluster creation to take minutes. Machines are cloned, bootstrapped and then measured for readiness rather than assumed ready.