KubeCON 2023 : Red Hat dévoile MicroShift, son mini OpenShift
Taillé pour exécuter un cluster de containers sur une petite machine d’appoint, le nouveau système « edge » hérite des certifications de son grand frère pour les projets industriels, militaires, télécoms et commerciaux.
Un cluster Kubernetes capable de fonctionner depuis une seule machine comprenant seulement deux cœurs de processeurs et 2 Go de RAM. Telle est la caractéristique la plus saillante de MicroShift, la version d’OpenShift pour les mini-serveurs « edge » installés sur le terrain et que Red Hat a présentée lors de salon KubeCON 2023 qui se tenait à Amsterdam mi-avril.
« Après les serveurs virtuels avec OpenStack et les applications containerisées en datacenters avec OpenShift, nous voulons nous ouvrir au domaine des machines déployées sur le lieu de production avec MicroShift », entonne Daniel Froehlich (à gauche sur la photo), le directeur produit qui pilote la destinée du nouveau système chez Red Hat.
« Il existe déjà des passerelles IoT qui collectent des données sur le terrain et les envoient en cloud pour un traitement ultérieur. MicroShift fait bien plus que cela : il sera capable d’exécuter lui-même des logiciels de reconnaissance d’image, avec des modèles d’IA, en usines comme sur un terrain militaire, de gérer en temps réel les équipements radio des antennes pour les télécoms, ou encore de piloter les bornes d’information dans les espaces commerciaux », détaille-t-il.
Un micro Kubernetes pour les grands projets
MicroShift n’est pas la première distribution Kubernetes taillée pour fonctionner sur une seule machine d’appoint : Rancher propose déjà K3s et Canonical distribue déjà MicroK8.
David SzegediDirecteur technique France, Red Hat
Mais David Szegedi, le directeur technique de Red Hat pour la France (à droite sur la photo), assure qu’ils ne jouent pas dans la même cour : « MicroShift est un système qui hérite automatiquement des certifications et des bonnes pratiques déjà éprouvées sur Red Hat OpenStack et OpenShift, tous ces produits fonctionnant sur le même système RHEL (Red Hat Linux). Nous nous adressons à un public de grands comptes qui veulent utiliser des applications professionnelles, verticales, lesquelles ont moins besoin des toutes dernières versions des bibliothèques que des versions testées et validées dans des contextes particuliers. »
« D’une manière générale, vous bénéficiez de la compétence de Red Hat à préparer en amont les applicatifs pour qu’ils soient adaptés à des contraintes de sécurité, de mises à jour non destructives, de support sur le très long terme. »
« Par exemple, en ce qui concerne la sécurité, MicroShift fonctionne comme OpenShift : il interdit aux containers de s’exécuter en tant que root [le superadministrateur qui dispose de tous les droits d’accès sous Linux, N.D.R.]. C’est une configuration bien plus complexe à faire, mais nous avons travaillé pour que nos systèmes se déploient ainsi par défaut », intervient Daniel Froehlich.
Une version 100 % identique sur machines ARM
Parmi les particularités techniques éprouvées par Red Hat, il y a notamment le fait que 100 % des rouages du système ont été adaptés pour fonctionner, le cas échéant, sur des machines ARM, plus économes en énergie que les serveurs x86.
« Les machines ARM présentent l’intérêt de consommer moins d’énergie, ce qui est très important pour des équipements sur le terrain qui seront alimentés soit par des batteries, soit par des panneaux solaires. Mais encore faut-il que ces machines bénéficient des mêmes services que les machines x86. Or, il s’agit du détail sur lequel nos concurrents ne sont pas nécessairement rigoureux. »
Cette rigueur pose des contraintes. Par exemple, MicroShift ne fonctionne pas sur Raspberry Pi, dont la taille se prête pourtant au pilotage de dispositifs connectés, mais dont l’architecture ne suivrait pas exactement les directives d’ARM. À la place, Red hat privilégie des déploiements sur des configurations mises au point par Nvidia. Cela tombe bien : Nvidia est aussi le fournisseur qui a planché sur les algorithmes de reconnaissance visuelle demandés par les clients industriels et militaires de Red Hat.
Déployer en edge des images prêtes à l’emploi
Pour autant, il ne faut pas penser que MicroShift ne serait rien moins qu’un OpenShift installé sur une petite machine. « La différence majeure est que vous déployez des images prêtes à l’emploi, qui ont été préparées en amont, alors que dans un datacenter vous déployez des bibliothèques et des containers avec paquets RPM et des scripts de configuration YAML », indique Daniel Froehlich.
Il précise que la préparation et le déploiement de ces images se pilotent depuis le site central d’une entreprise, à l’aide du moteur Ansible et de la console Red Hat Advanced Cluster Management. Ansible est l’outil de configuration automatique de Red Hat et qui contribue au succès d’OpenShift vis-à-vis de ses concurrents.
« Dans le cadre d’un déploiement edge, Ansible va s’assurer de configurer tous les paramètres périphériques à l’application. Par exemple, le réseau, le firewall, les passerelles VPN. La console Advanced Cluster Management, de son côté, sert à définir quelles applications vont sur quels appareils de votre flotte et quelles sont leurs règles d’accès », explique le directeur produit de Red Hat.
TopoLVM en guise de stockage persistant
Une autre caractéristique propre à MicroShift concerne le stockage. David Szegedi explique qu’il s’agit nécessairement de stockage persistant, puisqu’un appareil sur site doit stocker, à minima, ses relevés, et ce, même si une panne survient, même si le réseau est coupé vers le siège. Le pilote SCI ici choisi est TopoLVM, alias Topology Logical Volume Manager, un projet Open source qui se base sur la couche de stockage LVM de Linux, laquelle permet de créer des partitions logiques dont on peut changer la taille à la volée.
Daniel FroehlichDirecteur produit, Red Hat
« TopoLVM est la manière la plus élégante de générer un volume d’une taille donnée dès qu’un container en fait la demande. Il permet par ailleurs de créer des snapshots sans perturber le fonctionnement de la machine, sans générer aucune interruption. Et, tout cela, même si votre stockage physique est juste une carte SD de 64 Go », assure Daniel Froehlich.
Il faut toutefois noter que TopoLVM ne fonctionne que sur une seule machine. Or, il est possible que certains déploiements nécessitent de la haute disponibilité et, donc, un stockage réparti sur plusieurs nœuds. Dans ce cas, MicroShift fonctionnera, comme OpenShift, avec Data Foundation, un SDS basé sur Ceph.
« Historiquement, Ceph s’exécutait sur un cluster à part, dédié au stockage. La version Data Foundation permet de l’exécuter sur les nœuds Kubernetes eux-mêmes. MicroShift oblige, vous n’avez rien de compliqué à configurer, juste à définir les volumes de stockage, en mode bloc, fichier, ou objet », commente David Szegedi.
Si MicroShift se veut le système idéal des petites machines d’appoint, ses facultés ne descendent pas jusqu’aux équipements embarqués. « Par exemple, lorsque nous disons que nous fournissons les constructeurs automobiles, cela concerne les équipements informatiques de leurs usines sur leurs chaînes de montage, mais pas les équipements qui logent dans les tableaux de bord de leurs véhicules. Pour ce cas d’usage là, nous aurons un autre produit. Sur lequel nous planchons déjà. Mais que nous ne dévoilerons plus tard », conclut Daniel Froehlich.