Bien démarrer avec Image Mode sous RHEL 10

L‘Image Mode de RHEL (Red Hat Enterprise Linux) est une nouvelle méthode de déploiement qui utilise les technologies de conteneurs pour construire, déployer et gérer le système d’exploitation. Voici les principales caractéristiques :

Concept principal

Image Mode utilise une approche « container-native » pour livrer le système d’exploitation sous forme d’image conteneur en utilisant l’outils bootc. Cette approche permet de gérer le système d’exploitation avec les mêmes outils et workflows que les applications, voir même les intégrer dans vos pipeline.

Caractéristiques clés

  • Portabilité et évolutivité : Il s’agit d’un Linux portable, évolutif et prêt pour l’IA.
  • Système de fichiers immutable : Le système de fichiers racine est immutable par défaut.
  • Mêmes packages RPM : Les mêmes packages RPM sont utilisé, mais sous forme d’image de base de conteneur et les mises à jour sont déployées dans une nouvelle version de l’image du conteneur de référence.

Outils et workflows

Image Mode pour RHEL est disponible via l’image conteneur publié ici (requiert un accès à notre portail client) registry.redhat.io/rhel10/rhel-bootc et peut être géré avec Podman, OpenShift Container Platform, ou d’autres outils de construction de conteneurs standards.

Cette approche révolutionnaire permet aux administrateurs système d’utiliser les mêmes compétences et outils qu’ils utilisent pour les applications conteneurisées pour gérer le système d’exploitation lui-même. Elle apporte aussi un façon très rapide de mettre à jour des milliers de systèmes, et de revenir en arrière rapidement s’il y a un souci.

Principaux cas d’utilisation :

Le mode image n’est pas adapté pour toutes les charges de travail. Nous travaillons activement chez Red Hat à augmenter le nombre de cas d’utilisation. Le mode image excelle notamment dans ces cas :

  • Informatique en périphérie (pour gérer des miliers de périphériques rapidement)
  • Pile applicative AI/ML
  • Application et hôte gérés ensembles, de la même façon
  • Hôte de conteneurs autonome

Comment construire un image bootc RHEL 10 personnalisé

Il faut avoir un compte chez Red Hat pour pouvoir accéder aux images de base Bootc, publié et maintenu par Red Hat.
Passer en root sur votre system puis :

Télécharger la dernière image de base bootc pour RHEL 10

Créer un fichier conteneur :

Construire le conteneur (remplacez bien sûr par les coordonnées de votre registre de conteneurs ; ici, j’utilise le service public et gratuit de notre registre de conteneurs quay.io) :

Envoyer le conteneur sur votre registre :

Vous avez maintenant une image Bootc personnalisée prête à être utilisée.

Comment déployer un image bootc dans une machine virtuelle (KVM)

Voici les étapes pour déployer une image Bootc afin de démarrer une machine virtuelle avec celle-ci :

Créer un fichier de configuration de machine virtuelle :

Convertir au format qcow2 (pour KVM) à l’aide des outils de conversion fournis par l’image de conteneur bootc-image-builder. N’oubliez pas de remplacer les informations de registre par celles de votre propre registre de conteneurs.

Créer la machine virtuelle en utilisant l’image bootc convertie.

Vous avez maintenant un machine virtuelle basée sur un image de conteneur bootc =)

Manipuler l’image avec la commande bootc

Connecter vous en ssh à la machine virtuelle

Pour mettre à jour le contenu de cette machine virtuelle, vous devez modifier le Containerfile, reconstruire l’image, puis envoyer le conteneur mis à jour vers votre registre.
Par exemple ici, je rajoute le paquetage VIM :

Reconstruisez l’image mise à jour, puis envoyez le nouveau conteneur dans votre registre.

Dans votre machine virtuelle, il suffit désormais de récupérer cette nouvelle image avec une seule commande, puis de redémarrer pour appliquer la mise à jour :

Et voilà =)
Si vous avez des problèmes avec votre nouvelle image, pour revenir en arrière, il suffit d’une seule commande, puis de redémarrer :

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *