Canonical annonce l’optimisation des ressources pour MicroK8s
avril 2021 par Marc Jacob
Canonical annonce l’optimisation des ressources pour sa distribution minimale de Kubernetes, MicroK8s. Avec la version 1.21 de MicroK8s, l’empreinte mémoire a été réduite de 32,5 %. Cette amélioration était l’une des demandes les plus populaires de la communauté, cherchant à construire des clusters utilisant du matériel tel que le Raspberry Pi ou le NVIDIA Jetson. Canonical s’engage à pousser cette optimisation plus loin tout en maintenant MicroK8s entièrement compatible avec les versions amont de Kubernetes.
Les versions précédentes de MicroK8s se contentaient de packager tous les binaires amonts de Kubernetes tel quel ou de les compiler. Ce précédent package pesait 218 Mo et déployait un Kubernetes complet de 800 Mo. Avec MicroK8s 1.21, les binaires en amont ont été compilés en un seul binaire avant avant le paquetage. Cela a permis d’obtenir un paquet plus léger — 192 Mo — et surtout un Kubernetes de 540 Mo. Les utilisateurs peuvent ainsi exécuter MicroK8s sur des appareils disposant de moins de 1 Go de mémoire tout en laissant de la place pour le déploiement de plusieurs conteneurs, ce qui est nécessaire dans des cas d’utilisation tels que l’hébergement de sites Web à trois niveaux ou le service de modèles IA/ML.
MicroK8s sur NVIDIA
Cette nouvelle version permet également une intégration transparente de MicroK8s avec le dernier GPU Operator de Nvidia. MicroK8s peut consommer de la GPU ou même de la GPU multi-instance (MIG) en utilisant une seule commande et est entièrement compatible avec le matériel NVIDIA plus spécialisé, comme le DGX et l’EGX. MicroK8s prend en charge les architectures x86 et ARM et son encombrement rend la solution idéale pour fonctionner sur des appareils aussi petits que le Jetson Nano de 2 Go de Nvidia basé sur ARM et ouvre la porte à encore plus de cas d’utilisation.
Suite à cette évolution, l’équipe MicroK8s s’engage à poursuivre l’analyse comparative de Kubernetes sur différents clouds, en se concentrant spécifiquement sur les clouds en périphérie et les micros cloud, et à en tester les performances et l’évolutivité. Parmi les améliorations possibles, les équipes de Canonical, envisagent la combinaison du binaire d’exécution conteneurisé avec le binaire des services K8s et la compilation des bibliothèques partagées K8s dans le même paquet. De cette façon, la consommation de mémoire du paquet MicroK8s et les temps de construction diminueront encore plus, tandis que MicroK8s restera entièrement compatible avec les versions en amont.