La version 8.3 du système d'exploitation Red Hat Enterprise Linux (RHEL) inclut de nombreuses nouvelles fonctions de conteneurisation. Elle s'appuie sur les avancées de la version 8.2 (nouvelles fonctions de conteneurisation de Red Hat Enterprise Linux 8.2) et offre aux utilisateurs de nouvelles bonnes raisons de mettre à niveau leur système RHEL 7.

Voici un résumé des nouvelles fonctions :

  • Nouvelle formation aux outils de conteneurisation

  • Mise à jour du flux container-tools:rhel8 en rapide évolution

  • Podman 2.0 avec une nouvelle API REST qui dispose d'un point de terminaison compatible avec Docker

  • Skopeo 1.X, plus stable, avec de meilleures fonctions de connexion/déconnexion

  • Images Buildah et Skopeo à disposition du public et prises en charge

  • Image de conteneur Podman disponible en version préliminaire

  • Nouvelles images de conteneurs d'applications

  • Prise en charge du manifeste Podman

Mise à jour du flux rapide d'outils de conteneurisation (container-tools:rhel8)

Flux container-tools:rhel8 avec RHEL 8.3 vers les versions suivantes : Podman 2.0.5, Buildah 1.15.1 et Skopeo 1.1.1.

Voici une liste des nouvelles fonctions intéressantes introduites depuis la version RHEL 8.2 :

  • Rootless Podman ajoute désormais une entrée à /etc/passwd pour les utilisateurs qui ont exécuté Podman avec la commande --userns=keep-id.

  • La commande podman system connection est à nouveau disponible et a été adaptée pour prendre en charge plusieurs connexions.

  • Le drapeau global --connection a été ajouté à Podman pour indiquer une connexion à une instance d'API Podman à distance.

  • La commande podman search permet d'ajouter des caractères génériques dans les termes de recherche.

  • La commande podman play kube prend désormais en charge le type d'extraction IfNotPresent.

  • L'API REST et le service système Podman ne sont plus à l'état expérimental ; la version définitive est disponible.

  • La commande Podman prend désormais en charge les connexions à distance via l'API REST en utilisant le drapeau --remote.

  • Le client distant Podman a été entièrement réécrit pour qu'il utilise l'API REST au lieu de l'API varlink.

  • La commande podman generate systemd prend désormais en charge le drapeau --new quand elle est utilisée avec des pods, ce qui permet la création de services portables pour les pods.

  • Buildah : ajout du registre d'images supplémentaire VFS au conteneur

  • Buildah : meilleure intégration de containers.conf

Podman 2.0

Il s'agit d'une nouvelle version majeure de Podman, mais qu'est-ce que cela implique ? Podman utilise la gestion sémantique des versions, ou SemVer. Le site semver.org en propose une description complète, mais voici ce qu'il faut retenir. Avec SemVer, chaque programme a un numéro de version majeure, de version mineure et de correctif, qui s'écrit au format MAJEURE.MINEURE.CORRECTIF. Par exemple, dans RHEL 8.3, la version de Podman est 2.0.5. Voici comment semver.org explique ces chiffres :

  1. Version MAJEURE : lorsque des changements non rétrocompatibles sont apportés à l'API.

  2. Version MINEURE : lorsque des fonctionnalités rétrocompatibles sont ajoutées.

  3. CORRECTIF : lorsque des corrections de bogue rétrocompatibles sont apportées.

La version majeure de Podman a été incrémentée, car la version actuelle de l'API basée sur varlink a été remplacée par la nouvelle API REST, qui vise Podman 2.0 avec une couche de compatibilité Docker qui vise la version 1.40. La nouvelle API REST est désormais l'interface privilégiée pour interagir avec Podman. Il n'est pas recommandé de continuer à utiliser l'interface basée sur varlink, car celle-ci ne sera plus étendue et sera retirée de la version Podman 3.0.

L'interface REST est le dernier élément mis en place pour simplifier la mise à niveau des systèmes RHEL 7 des clients qui utilisent le démon Docker pour passer à RHEL 8 avec Podman. Dès le lancement de RHEL 8, Podman était déjà en grande partie compatible avec le démon Docker. En effet, Podman utilise les mêmes images que Docker, communique avec les mêmes serveurs de registre, utilise le même environnement d'exécution (runc) et dispose même d'une interface en ligne de commande (CLI) très similaire à celle de Docker. 

  • Format d'image : compatible

  • Format de registre : compatible

  • Format d'environnement d'exécution : compatible

  • CLI : compatible

  • API : compatible à partir de la version 2.0

Avec la nouvelle API REST de Podman 2.0, la compatibilité est désormais complète. Les utilisateurs peuvent maintenant transférer le code qui dépend de l'API Docker vers RHEL 8. Nous sommes fiers de cet accomplissement, car ce fut une tâche conséquente pour l'équipe Podman.

Si vous voulez en savoir plus, je vous recommande les articles et la documentation ci-dessous :

Images de conteneurs pour Buildah et Skopeo

Les logiciels conteneurisés permettent aux développeurs de consommer du code déjà rédigé au lieu de produire le leur (voir l'article Life in The Container - When it comes to code, be a consumer). Cela s'applique aussi bien aux dépendances des applications qu'aux outils utilisés pour créer les applications. Pour réduire les frictions et permettre l'usage d'outils compatibles avec les normes de l'Open Container Initiative (OCI) dans la majorité des cas d'utilisation, Red Hat travaille sur la création de versions conteneurisées des outils de conteneurisation tels que Buildah, Skopeo et Podman.

Avec la sortie de RHEL 8.3, nous proposons désormais une version préliminaire des images de conteneurs pour Podman, ainsi que des images pour Buildah et Skopeo (disponibilité générale). Nous vous invitons à tester ces images et à nous envoyer vos commentaires. Notre objectif est de fournir un ensemble d'applications conteneurisées utilisables pour créer d'autres applications partout où vous exécutez déjà des conteneurs.

Nouvelles images de conteneurs d'applications

Avec RHEL 8.3, nous lançons des versions mises à jour de plusieurs images de conteneurs qui aident les utilisateurs à créer des applications. Pour en savoir plus, consultez les notes de version ainsi que la page produit de RHEL 8 dans le catalogue Red Hat Ecosystem Catalog.

Page produit de l'image de conteneurs universelle (UBI) Red Hat

Page produit de RHEL 8

  • GCC Toolset/Perftools 10

  • Grafana

  • PCP

Prise en charge du manifeste Podman

Vous pouvez exécuter la commande podman run -it ubi8 sur RHEL 8, qu'il soit installé sur une architecture x86, ARM, POWER ou Z. La commande est très simple, mais les images de conteneurs sont différentes pour chaque architecture physique. Les versions binaires dans chaque image de conteneur ont été compilées pour une architecture en particulier, c'est-à-dire que les versions binaires compilées pour x86 ne peuvent pas s'exécuter sur les processeurs ARM et vice-versa. Ainsi, pour qu'une même commande fonctionne sur toutes les architectures, Red Hat a dû intégrer plusieurs images de conteneurs dans un même référentiel de conteneurs. Par exemple, pour RHEL 8, il y a quatre images différentes, une pour chaque architecture prise en charge (x86, ARM, POWER et Z), intégrées dans chaque référentiel (p. ex. registry.access.redhat.com/ubi8/ubi).

La nouvelle sous-commande podman manifest permet aux utilisateurs d'interagir avec les métadonnées requises pour travailler avec ces référentiels qui contiennent plusieurs architectures. Dans le jargon d'OCI, ces métadonnées sont souvent appelées index d'images, et dans le jargon Docker, liste de manifestes. Il s'agit d'un morceau de métadonnées JSON qui fournit aux moteurs de conteneurisation, tels que Podman ou Docker, des informations essentielles au sujet des architectures (x86, ARM, POWER, Z) disponibles dans un référentiel.

La dernière version de Podman dans RHEL 8.3 comprend les outils de base nécessaires à la création d'images pour plusieurs architectures, ainsi qu'à leur transfert vers des serveurs distants. Ces fonctions ont été pensées pour les clients qui créent des images de conteneurs avancées.

Voici un exemple de commande pour créer un manifeste local :

podman manifest create localhost/list

et l'inspecter :

podman manifest inspect localhost/list

Résultat :

{  "schemaVersion": 2,  "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",  "manifests": null }

Développez vos compétences Linux avec les outils de conteneurisation RHEL

Au vu de l'importance des conteneurs dans le secteur, Red Hat a prolongé deux de ses principaux cours sur Linux d'un jour afin d'y inclure les conteneurs. Depuis le 1er octobre 2020, le cours Administration système Red Hat II (RH134) et le Cours accéléré RHCSA (RH199) durent 5 jours au lieu de 4, et le dernier jour est consacré aux conteneurs, afin de former les participants à l'utilisation de Kubernetes et de Red Hat OpenShift.

Les participants aux cours RH134 et RH199 utiliseront désormais les outils de conteneurisation RHEL pour obtenir, exécuter et gérer des services sous la forme de conteneurs sur un seul serveur RHEL. 

OpenShift s'appuie sur la fiabilité du système RHEL, ce qui lui permet d'offrir les mêmes fonctions de sécurité, le même écosystème ainsi que le même niveau de stabilité auxquels vous êtes habitué. Après avoir adapté Linux pour les entreprises, Red Hat s'emploie aujourd'hui à adapter Kubernetes. Et puisque les conteneurs sont d'abord une technologie Linux, Red Hat est bien placé pour vous proposer un parcours optimisé qui vous permettra d'ajouter les conteneurs et Kubernetes à vos compétences.

Suite à cette mise à jour des cours sur Linux, l'examen RHCSA (Administrateur système certifié Red Hat) (EX200) a également été modifié et inclut désormais des exercices sur les conteneurs. Ces nouveaux exercices allongent la durée de l'examen de 30 minutes et permettent aux participants d'avoir une expérience pratique et concrète des applications conteneurisées.

La version de cet examen basée sur Red Hat Enterprise Linux 7 n'est pas concernée par ces changements. Seul le contenu des cours et examens sur Red Hat Enterprise Linux 8.2 (RH199, RH134, EX200) est modifié. Le cours Administration système Red Hat I (RH124) n'aborde pas les conteneurs, mais il a tout de même été mis à jour pour RHEL 8.2.

Pour en savoir plus sur les mises à jour des formations et certifications, lisez l'article de blog complet et consultez cette page.

Conclusion

Que ce soit dans l'image de conteneur ou sur l'hôte du conteneur, chez Red Hat, les conteneurs reposent toujours sur RHEL. La dernière version, RHEL 8.3, inclut des fonctions qui posent les bases pour OpenShift et plus encore.

Nous vous invitons à découvrir toutes les nouvelles fonctions : documentation produit, notes de version et nouvelles images UBI dans le catalogue Red Hat Ecosystem Catalog.


À propos de l'auteur

At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.

McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.

Read full bio