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

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *