Kubernetes non rende un sistema affidabile da solo: dichiari lo stato desiderato, ma sei tu a definire cosa significa “sano”. Prima di ogni messa in produzione passo da questi punti.
Risorse e limiti
Ogni container deve avere requests e limits di CPU e memoria. Senza, lo scheduler non sa dove metterlo e un singolo pod impazzito può travolgere il nodo.
Probe di salute
readiness per non ricevere traffico prima di essere pronti, liveness per essere riavviati se ci si blocca. Sbagliarle è peggio che non averle: una liveness troppo aggressiva riavvia in loop.
Resilienza e aggiornamenti
- Almeno 2 repliche + PodDisruptionBudget, per sopravvivere a manutenzioni e riavvii dei nodi.
- Rolling update con maxUnavailable basso: nessun downtime al deploy.
- HorizontalPodAutoscaler per reggere i picchi senza sovradimensionare a riposo.
Sicurezza di base
- Container non-root, filesystem in sola lettura, capability rimosse.
- NetworkPolicy default-deny: si apre solo ciò che serve.
- Segreti fuori dal codice (secret manager), mai nelle immagini.
Nessuno di questi punti è esotico: sono le fondamenta. È la loro somma a fare la differenza tra un cluster che regge e uno che ti sveglia di notte.
Hai un progetto cloud o AI da portare in produzione? Ne parliamo volentieri.


Lascia un commento