Wednesday, November 4, 2026
Home » MetalK8s 2.X : une version repensée et améliorée

MetalK8s 2.X : une version repensée et améliorée

Lancé en 2018, MetalK8s a été conçu pour faciliter l’exécution de Kubernetes (K8s) sur des serveurs bare metal nécessitant un stockage persistant.

La version 1.1 reposait sur Ansible et kubespray, tandis que la version 2.X (à partir de la 2.0) s’appuie sur SaltStack comme orchestrateur de déploiement. MetalK8s 1.1 et 2.X sont donc des outils d’orchestration totalement différents et indépendants, chacun avec ses avantages et ses inconvénients.

En outre, MetalK8s 2.X (dont la 2.4 est la branche de développement principale) est livré avec une version plus récente de Kubernetes (la plus récente étant la 1.15). MetalK8s 1.1 est livré avec Kubernetes 1.11, qui est assez ancien.

Les trois principales fonctionnalités ajoutées à MetalK8s 2.X sont la gestion du cycle de vie des solutions, avec prise en charge des mises à niveau et des retours arrière, la gestion des volumes, et une interface utilisateur simplifiée pour gérer les ressources Kubernetes.

Le plus grand défi pour notre équipe a été de repenser et de reconcevoir l’architecture de MetalK8s. Repartir de zéro n’est jamais simple, mais c’était nécessaire. Trouver des ingénieurs capables de faire ce travail, des ressources financières pour le mener à bien, puis réinventer le modèle pour qu’il corresponde à notre cas d’usage unique a demandé énormément d’inspiration.

[bctt tweet=”MetalK8s 2.X dispose d’une interface simplifiée et d’une base de code entièrement nouvelle pour permettre même aux utilisateurs non techniques de piloter Kubernetes sur des serveurs bare metal.” username=”scality”]

La documentation de MetalK8s est directement disponible dans le dépôt du projet, et il en existe aussi une version HTML, ici (en anglais). Cette documentation couvre la conception de l’architecture et comprend un guide du développeur, des guides de mise en œuvre et un guide d’exploitation, tous accessibles publiquement.

La nouvelle interface utilisateur (UI) a été conçue pour que les utilisateurs non techniques puissent interagir facilement avec MetalK8s sans connaître en profondeur le système sous-jacent ni la façon dont tous ses éléments s’articulent « sous le capot ». Cette UI soigneusement pensée permet de contrôler les nœuds, les volumes, les solutions, le versioning et bien plus encore, de manière intuitive et utile.

Le passage de MetalK8s 1.0 à MetalK8s 2.X est considérable. Le nouvel outil d’orchestration utilise SaltStack pour piloter l’orchestration de toute la plateforme, principalement en raison de sa flexibilité. Il facilite l’extension de la chaîne de déploiement et semble meilleur que la version précédente.

L’objectif principal est de donner liberté et contrôle à ceux qui créent de la valeur avec les données. Mettre en place un environnement de test MetalK8s doit être simple et rapide. La nouvelle version dispose d’un meilleur outil de build qui devrait permettre à la plupart des utilisateurs d’être opérationnels en quelques minutes, une nette amélioration par rapport à l’ancien système.

Pour le projet MetalK8s, Ansible/kubespray appartient au passé. Nous estimons que la nouvelle approche vise davantage à redéfinir la valeur du support à long terme pour tous nos autres projets. L’état de l’art évolue, et nous avons l’obligation de réinventer nos modèles pour rester pertinents pour nos utilisateurs.

MetalK8s est en cours de développement actif, principalement par l’équipe centrale de Scality, et nous ne pouvons donc pas partager beaucoup de détails sur la feuille de route pour l’instant. Cela devra certainement changer, et très bientôt. La communauté open source n’a pas encore beaucoup contribué, mais l’équipe accueille toujours volontiers les contributions de la communauté.