Control plane
API server HA
27 / 82

API servers need no election: every replica serves every request.

They keep no state of their own; etcd is the arbiter of consistency. A watch cache lets most reads skip etcd entirely.

kubectl andall clientsLoad balancerstable endpointAPI server 1watch cacheAPI server 2watch cacheAPI server 3watch cacheetcd

etcd absorbs writes, the cache absorbs reads

Each API server keeps an in-memory cache fed by watching etcd. Most get, list and watch calls are served from it.

Contrast with controllers

Controller manager and scheduler hold single-writer logic, so they need a leader. The API server does not, because etcd serialises writes.

On GKE, EKS, AKS

The provider runs these replicas behind one endpoint URL. You never see the count.