MicroK8s: la mini versione di Kubernetes di Canonical è ottimizzata per RaspberryPI

Seppur il processo di installazione di Kubernetes sia ben documentato e non particolarmente complesso, sicuramente non è una di quelle operazioni super semplificate, soprattutto perché diverse scelte vanno fatte in anticipo e devono essere ponderate sia a fronte dell’infrastruttura in cui lo stiamo installando, sia a fronte di quello che vorremo erogare dal nostro orchestratore.

Proprio per questo esistono tante varianti che permettono di avere un ambiente di test: dall’ufficiale minikube al deployment integrato in Docker Desktop per altri OS, diversi attori forniscono la propria soluzione. Uno fra questi è Canonical che già da qualche tempo propone MicroK8s che, a differenza degli altri, si propone come soluzione a 360 gradi: semplice da installare (e quindi l’ideale per ambienti di sviluppo come i propri portatili) ma sufficientemente solido da poter essere utilizzato in piccoli ambienti di produzione.

Proprio con l’ultima release del suo MicroK8s Canonical ha però dato un giro di vite alle performance ed al footprint (l’impatto che un’applicazione ha in generale su un sistema): la versione 1.21 vede questo parametro ridotto del 32.5%. L’idea è quella di renderlo fruibile sempre su più dispositivi: se prima il pacchetto da 218Mb forniva un cluster Kubernetes completo con un’occupazione di circa 800Mb di memoria, adesso il pacchetto è grande 192Mb e fornisce le stesse funzionalità utilizzando 512Mb, rendendolo così non solo installabile su dispositivi con meno di 1Gb di memoria, ma lasciando anche spazio per l’esecuzione di qualche container.

This improvement was one of the most popular requests from the community looking to build clusters using hardware such as the Raspberry Pi or the NVIDIA Jetson. Canonical is committed to pushing that optimization further while keeping MicroK8s fully compatible with the upstream Kubernetes releases.

Questa miglioria è stata una delle richieste più popolari della community, che cerca di costruire dei cluster su hardware quali il Raspberry Pi o l’NVIDIA Jetson. Canonical si impegna a spingere ancora di più quest’ottimizzazione mantenendo MicroK8s completamente compatibile con le ultime versioni di Kubernetes

Queste le parole di Alex Chalkias, Product Manager per le soluzioni data center di Canonical, in un articolo rilasciato sul blog di Canonical stessa e che spiega il lavoro che è stato fatto e quello che verrà fatto in futuro per ottimizzare ancora di più questa soluzione.

Quest’ultima versione, inoltre, contiene Kubernetes 1.21 che, grazie all’introduzione delle API per i CronJobs, finalmente porta la schedulazione di task sull’orchestratore nell’area delle funzionalità considerate “stabili”.

Ricapitolando: occupazione minore della memoria, ultima versione di Kubernets con sensibili miglioramenti e la promessa che questo prodotto continuerà a migliorare. Non resta che provarlo, voi lo avete già fatto?

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l'HA e l'universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.

Tags: , , ,