Chapitre 20. Conteneurs
Ce chapitre répertorie les changements les plus notables apportés aux conteneurs entre RHEL 8 et RHEL 9.
20.1. Changements notables concernant les conteneurs
Le méta-paquet container-tools
est maintenant disponible
Le méta-paquet RPM container-tools
, qui comprend Podman, Buildah, Skopeo, CRIU, Udica et toutes les bibliothèques requises, est disponible dans RHEL 9. Les flux stables ne sont pas disponibles sur RHEL 9. Pour bénéficier d'un accès stable à Podman, Buildah, Skopeo et autres, utilisez l'abonnement RHEL EUS.
Pour installer le méta-paquet container-tools
:
Installer le méta-paquet
container-tools
:$ sudo dnf install container-tools
Amélioration des performances du groupe de contrôle
La version précédente des groupes de contrôle, cgroup version 1 (cgroup v1), entraînait des problèmes de performance avec diverses applications. La dernière version des groupes de contrôle, cgroup version 2 (cgroup v2), permet aux administrateurs système de limiter les ressources pour n'importe quelle application sans causer de problèmes de performance.
Dans RHEL 9, la nouvelle version des groupes de contrôle, cgroups v2, est activée par défaut.
Podman prend désormais en charge les noms courts sécurisés
Les alias de noms courts pour les images peuvent désormais être configurés dans le fichier registries.conf
, dans la table [aliases]
. Les modes de noms courts sont les suivants :
-
Mise en application : Si aucun alias correspondant n'est trouvé lors de l'extraction de l'image, Podman invite l'utilisateur à choisir l'un des registres de recherche non qualifiée. Si l'image sélectionnée est extraite avec succès, Podman enregistre automatiquement un nouvel alias de nom court dans le fichier
$HOME/.cache/containers/short-name-aliases.conf
(utilisateur sans racine) et dans le fichier/var/cache/containers/short-name-aliases.conf
(utilisateur racine). Si l'utilisateur ne peut pas être invité (par exemple, stdin ou stdout n'est pas un TTY), Podman échoue. Notez que le fichiershort-name-aliases.conf
a la priorité sur le fichierregistries.conf
si les deux spécifient le même alias. Le mode "enforcing" est par défaut dans RHEL 9. - Permissif : Semblable au mode d'exécution, mais Podman n'échoue pas si l'utilisateur ne peut pas être invité à le faire. Au lieu de cela, Podman effectue une recherche dans tous les registres de recherche non qualifiés dans l'ordre donné. Notez qu'aucun alias n'est enregistré. Le mode permissif est le mode par défaut dans RHEL 8.
Exemple :
unqualified-search-registries=["registry.fedoraproject.org", "quay.io"] [aliases] "fedora"="registry.fedoraproject.org/fedora"
Registres de conteneurs par défaut dans registries.conf
Vous trouverez la liste des registres de conteneurs dans le fichier /etc/containers/registries.conf
en tant qu'utilisateur root et dans $HOME/.config/containers/registries.conf
en tant qu'utilisateur non-root. En modifiant le fichier registries.conf
, vous pouvez changer les paramètres de recherche par défaut pour l'ensemble du système.
Pour RHEL 8, le site unqualified-search-registries
est le suivant :
unqualified-search-registries = ["registry.access.redhat.com", "registry.redhat.io", "docker.io"] short-name-mode = "permissive"
Pour RHEL 9, le site unqualified-search-registries
est le suivant :
unqualified-search-registries = ["registry.access.redhat.com", "registry.redhat.io", "docker.io"] short-name-mode = "enforcing"
Modification de la durée d'exécution de l'OCI par défaut
Le runtime crun
OCI est maintenant disponible pour le module container-tools:rhel8
. Le runtime de conteneur crun
supporte une annotation qui permet au conteneur d'accéder aux groupes supplémentaires de l'utilisateur sans racine. Ceci est utile pour les opérations de conteneur lors du montage de volume dans un répertoire où setgid est défini, ou lorsque l'utilisateur n'a qu'un accès de groupe.
-
L'exécution par défaut du conteneur dans RHEL 8 est
runc
. -
Le conteneur d'exécution par défaut dans RHEL 9 est
crun
.
L'exécution de conteneurs RHEL 9 sur un hôte RHEL 7 n'est pas prise en charge
L'exécution de conteneurs RHEL 9 sur un hôte RHEL 7 n'est pas prise en charge.
Pour plus d'informations, voir la Matrice de compatibilité des conteneurs Red Hat Enterprise Linux.
Piles réseau par défaut
Podman utilise CNI comme pile réseau par défaut dans RHEL 8 et Netavark comme pile réseau par défaut dans les nouvelles installations de RHEL 9.
Si vous effectuez une mise à niveau de RHEL 8 à RHEL 9, la pile réseau de Podman est définie comme suit :
-
Netavark si le paramètre
network_backend
dans le fichier/etc/containers/containers.conf
n'est pas défini ou si vous avez mis à niveau manuellement la pile réseau de Podman dans RHEL 8 vers Netavark. - CNI s'il y a des conteneurs, des images, des pods ou des réseaux présentés lorsque Podman est exécuté pour la première fois après une mise à niveau. Vous pouvez alors effectuer une mise à niveau manuelle vers la nouvelle pile réseau Netavark. Pour savoir comment passer de la pile réseau CNI à la pile réseau Netavark, voir 8.6 Passer de la pile réseau CNI à Netavark et 8.7 Passer de la pile réseau Netavark à CNI.
Red Hat recommande de spécifier explicitement le paramètre network_backend
pour s'assurer que le backend correct est sélectionné.
Vous ne pouvez pas migrer les conteneurs existants vers un système de pile réseau différent à l'aide des commandes podman container checkpoint
et podman container restore
. Si vous souhaitez passer de la pile réseau CNI à la pile réseau Netavark, recréez le conteneur à partir de l'image du conteneur.