How a pool works
An identity pool is a Cilium LoadBalancer IP pool that is deliberately disabled and labelled as an identity pool:- Disabled guarantees Cilium’s LB-IPAM never assigns its addresses to Services — the pool exists only for VM claims.
- The BGP engine still advertises the pool’s aggregate prefix to the fabric, from every node.
- The per-VM addresses stay node-internal, which is exactly what lets a VM keep its address after landing on a different node.
Every claim in range and a stale count of zero is the steady state; anything else means the pool was resized under its claims — see re-addressing.
Create a pool
1
Open Pools & IPAM
Go to Supervisors → your supervisor → Networking → Pools & IPAM and click Add pool.
2
Choose the VM identity kind
Give the pool a name and a CIDR that your fabric routes — for example
10.0.20.0/24. The network and broadcast addresses are always reserved; a /24 yields 254 claimable addresses.3
Create
The pool is created disabled and identity-labelled, and its aggregate begins advertising. VMs can claim from it immediately — the claim itself happens at VM creation.
A project can also be given a VM identity range at creation — the resulting pool is identical, just owned by the project’s lifecycle.
Next-IP preview
Each identity pool can show the next address it would hand out: the first free address in the CIDR, skipping the network and broadcast addresses and every address already claimed by a VM. The create-VM flow uses the same computation, so the preview is exactly what the next VM will get.Allocation is claim-scan based — the annotation on the VM is the record, there is no separate allocation store. Two VMs created in the same instant can theoretically race for the same address; for operator-driven creation this does not happen in practice.
Re-addressing
Resizing a pool can leave claims stale — an address outside the pool’s current CIDR is no longer advertised, and the VM is unreachable on it. The pool’s Re-address action repairs this:
Re-addressing updates the claim on the VM and on its live instance, so the new address takes effect without recreating the VM. If the pool runs out of free addresses mid-operation, the action stops with a conflict — grow the pool and run it again.
Permissions
Both are scoped to
krn:vks:supervisor:<supervisor>:cilium:*.
Related
VM networking
Claims, stale-claim symptoms, and everything else from the VM’s side.
Create a VM
Where a VM claims its identity address.
Pools & IPAM
The unified pool table this pool kind lives in.
BGP & Egress
Where the pool’s aggregate shows up in the advertise table.