Announcement

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Raccomandazioni sui pod unevictable in PerfectScale

Individui e corregga le configurazioni che bloccano lo scale-down dei nodi.

By Jacek Wysocki

·

Shipped by

AmitAbrorAndreiMireyaIraJacek

Il cluster autoscaler vorrebbe rimuovere i nodi sottoutilizzati. Spesso non ci riesce. Basta un singolo pod con un PodDisruptionBudget restrittivo, un'annotazione do-not-evict, storage locale o un riferimento al controller mancante per tenere bloccato l'intero nodo. Il nodo continua a girare, per lo più inattivo, e Lei continua a pagarlo.

Questi blocchi sono difficili da individuare. Si nascondono nei manifest dei workloads sparsi in decine di namespace, e i log dell'autoscaler raramente indicano quale pod sia responsabile o quanto costi. La maggior parte dei team li scopre uno alla volta, di solito mentre indaga sul perché i costi del cluster abbiano smesso di scendere dopo un intervento di right-sizing. La consolidation di Karpenter e lo scale-down del Cluster Autoscaler incontrano lo stesso limite: possono rimuovere solo i nodi che tutti i pod accettano di lasciare.

Le novità

PerfectScale ora rileva i pod unevictable e Le indica esattamente come intervenire.

Quando PerfectScale individua un pod che blocca la consolidation dei nodi, genera un diff YAML che confronta la configurazione attuale con la modifica consigliata. Basta copiarlo con un clic e applicarlo al manifest.

media

Ogni raccomandazione include:

  • La configurazione esatta che impedisce l'eviction, con una spiegazione chiara della modifica
  • Un ordine di priorità basato sull'impatto sui costi, così da correggere prima i blocchi più onerosi
  • Un livello di attendibilità e un livello di rischio, per sapere cosa può essere applicato in sicurezza e cosa richiede una revisione
  • Un diff YAML pronto da copiare

Alcuni blocchi sono intenzionali. Un pod di database stateful con un PDB rigoroso potrebbe essere esattamente ciò che desidera. Con un clic su Mute for Workload, PerfectScale nasconde quel rilevamento per tutti i pod unevictable del workload, sia in questa scansione che in quelle future. Le schede Active e Muted mantengono visibili entrambe le liste, così nulla scompare senza lasciare traccia.

Come iniziare

In InfraFit, apra il node group interessato e passi alla vista Unevictable Pods. Faccia clic su See Recommendations oppure sul widget Unevictable Pods.

La vista stessa fornisce il contesto di ogni rilevamento. Ogni nodo appare come una scheda con una treemap dei pod, e i pod unevictable sono evidenziati in rosso. Facendo clic su un pod o un nodo si accede a tutti i dettagli: requests e limits, utilizzo effettivo, label e annotazioni. I filtri permettono di restringere la vista per taints, namespace o altri criteri, e gli snapshot coprono fino a un mese di storico, nel caso serva un confronto con uno stato precedente.

Consulti la documentazione