Cluster Design — Architect Track›Architecture · Cheat sheet & self-check

Architecture · wrap-up

Cheat sheet & self-check

Every command from this section on one page.

05 · Control plane & node topology

Control plane options

3 stacked control-plane nodes (etcd on the same nodes)Default for most clusters
5 membersSurvives 2 failures; more write latency and cost
External etcd clusterIsolates etcd; more machines to run
Spread members across racks/roomsOne rack loss keeps quorum

ADR template

Title · Status · Context · Decision · Consequences · Alternatives consideredOne decision per record
docs/adr/ADR-00N-<slug>.md in the platform repoVersioned with the code

06 · Cluster networking

Sizing ranges

/16 pod CIDR with /24 per node → 256 nodes × 256 addresseskubeadm/controller-manager: --cluster-cidr, --node-cidr-mask-size
Service CIDR /16 → 65,536 ClusterIPs--service-cluster-ip-range (API server)
Calico default IPAM block /26; Cilium cluster-pool default /24 per nodeCNI-specific allocation
Ranges must not overlap: clusters, DCs, VPN users, partnersFuture routing and peering

Routing

Overlay (VXLAN/Geneve)Works anywhere; ~50 bytes overhead; pods not routable outside
Native routing + BGP to ToRPods routable; no encapsulation; needs network team

07 · Load balancing & ingress

Layers

L4: MetalLB (BGP/L2), kube-vip, or hardware/virtual LBStable IPs for ingress and the API server
L7: ingress controller or Gateway API implementationHost/path routing, TLS, retries, rate limits
externalTrafficPolicy: LocalKeep client source IP; only nodes with local endpoints receive traffic
PROXY protocolPass client IP through an L4 LB that terminates TCP

TLS options

Terminate at external LB/WAFCentral certs; LB sees plaintext
Terminate at ingress (cert-manager)Kubernetes-native certs; common default
Re-encrypt to pods / mesh mTLSEncrypted end to end inside the DC
Passthrough (SNI routing)App holds the key; no L7 features at ingress

08 · Customer-facing edge

Edge layers

DNS/GSLB → CDN → WAF + DDoS → L4 VIP → ingressOutside-in order
Rate limits: per client/API key at the gateway or ingressProtect backends from floods and abuse
API gateway: auth, quotas, versioning for partnersPartner-facing APIs

Isolation layers (namespace model)

RBAC + NetworkPolicy (default deny) + ResourceQuota/LimitRangeThe minimum set
Pod Security Admission (restricted) + policy engineWorkload hardening
Dedicated node pools / taints for sensitive tenantsKernel and noisy-neighbour isolation

09 · Storage & the stateful tier

Choices per data class

Operator-managed DB on local NVMe (app-level replication)Fast; the database replicates, not the storage
Replicated block storage (Ceph RBD, Longhorn)Storage-level replication; easier moves
External database service / DBA-run clusterExisting expertise, outside the cluster lifecycle

Replication across sites

SynchronousRPO ≈ 0; needs low round-trip latency (metro distances); writes slower
AsynchronousRPO = replication lag; any distance; possible data loss on failover
Backups (PITR) off-siteProtect against corruption and mistakes, not just hardware loss