Tempo di regali natalizi anticipati nella community Kubernetes, con la pubblicazione di un’altra importante e puntuale release prima delle festività: Kubernetes 1.32, soprannominata “Penelope”. Questa nuova versione porta con sé ben 44 nuove funzionalità, di cui 13 stabili, 12 beta e 19 nuove feature in alpha, pronte per essere testate.
Tra le funzionalità che raggiungono lo stato “sabile” in Penelope:
- Eliminazione automatica delle PVC create da StatefulSet: utile nei casi in cui un’applicazione che utilizza uno StatefulSet per eseguire task temporanei genera dati intermedi che non sono necessari dopo il completamento. Con questa nuova funzionalità, una volta che i pod associati vengono eliminati, anche i PVC non più in uso vengono rimossi automaticamente, evitando sprechi di risorse di storage e riducendo la necessità di interventi manuali.
- Introduzione dei timestamp di creazione nei CronJob, che migliora la tracciabilità e il debugging delle esecuzioni ritardate o riprogrammate.
- Il rispetto in ogni circostanza delle politiche di reclaim dei PersistentVolume, grazie all’introduzione di finalizers (ossia label speciali applicate alle risorse che bloccano la cancellazione fino a quando non sono state eseguite operazioni come la rimozione di risorse dipendenti o la pulizia dello stato) specifici.
- Supporto ai profili personalizzati in kubectl debug, mediante la possibilità di utilizzare profili personalizzati in formato JSON, semplificando notevolmente le operazioni di debugging, che diventano più flessibili ed efficienti.
- Configurazione drop-in per kubelet che permette di gestire file di configurazione multipli che vengono processati in ordine alfabetico. Parametri specifici per kubelet possono essere dichiarati in file di configurazione separati come 10-general.conf e 20-logging.conf nella directory dedicata, e verranno elaborati in ordine crescente. Un approccio ispirato alle pratiche standard Linux che facilita la gestione dinamica delle configurazioni, evitando conflitti.
Ci sono poi le funzionalità sperimentali che guardano al futuro, distribuite tra “beta” e “alpha”:
- Fine tuning di CrashLookBackOff: una funzionalità che rende possibile regolare i tempi di backoff dei pod in stato di CrashLoopBackOff, permettendo di ottimizzare la logica di restart in base ai carichi reali.
- Shutdown graduale dei nodi Windows: una novità che ha il sapore di storia, poiché sistema il problema dei nodi Windows che non gestivano correttamente lo shutdown, aumentando l’affidabilità e la consistenza dei workload, anche in ambienti multi-cloud.
- Pagine StatusZ e FlagZ per i componenti core che migliorano la visibilità e il debugging dei componenti core di Kubernetes, con dettagli in tempo reale su flag attivi, versioni e configurazioni.
- VolumeGroupSnapshot una funzionalità beta che introduce la possibilità di creare snapshot consistenti di gruppi di volumi utilizzando un selettore di etichette. Ad esempio, per gestire un’applicazione composta da più volumi che condividono una label comune, come app=backend. Durante un’operazione di backup, è possibile creare uno snapshot unico e sincronizzato di tutti i volumi con questa etichetta, garantendo consistenza tra i dati. Questa funzionalità è particolarmente utile in scenari di disaster recovery complessi, dove il ripristino accurato dello stato dell’applicazione è fondamentale. Un miglioramento cruciale per backup e disaster recovery.
Ovviamente questo elenco di funzionalità è decisamente ridotto, in quanto la release 1.32 di Kubernetes ne ha davvero come di consueto a decine, ma vogliamo chiudere l’articolo con l’immagine associata alla release:
Rispetto al passato decisamente kitsch, con colori che spiace dirlo ma fanno un poco male agli occhi 🙂
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.