4.19. Conteneurs
Le nouveau rôle de système podman
RHEL est maintenant disponible
À partir de Podman 4.2, vous pouvez utiliser le rôle de système podman
pour gérer la configuration de Podman, les conteneurs et les services systemd
qui exécutent les conteneurs Podman.
Jira:RHELPLAN-118705
Podman prend désormais en charge les événements pour l'audit
À partir de Podman v4.4, vous pouvez rassembler toutes les informations pertinentes sur un conteneur directement à partir d'un seul événement et de l'entrée journald
. Pour activer l'audit de Podman, modifiez le fichier de configuration container.conf
et ajoutez l'option events_container_create_inspect_data=true
à la section [engine]
. Les données sont au format JSON, le même que celui de la commande podman container inspect
. Pour plus d'informations, voir Comment utiliser les nouveaux événements de conteneurs et les fonctionnalités d'audit dans Podman 4.4.
Jira:RHELPLAN-136602
Le méta-paquet container-tools
a été mis à jour
Le méta-paquet RPM container-tools
, qui contient les outils Podman, Buildah, Skopeo, crun et runc, est désormais disponible. Cette mise à jour applique une série de corrections de bogues et d'améliorations par rapport à la version précédente.
Les changements notables dans Podman v4.4 sont les suivants :
- Présenter Quadlet, un nouveau générateur de systèmes qui permet de créer et de maintenir facilement des services systemd à l'aide de Podman.
-
Une nouvelle commande,
podman network update
, a été ajoutée, qui met à jour les réseaux pour les conteneurs et les pods. -
Une nouvelle commande,
podman buildx version
, a été ajoutée, qui indique la version de buildah. - Les conteneurs peuvent désormais avoir des contrôles de santé au démarrage, ce qui permet d'exécuter une commande pour s'assurer que le conteneur est complètement démarré avant que le contrôle de santé normal ne soit activé.
-
Prise en charge de la sélection d'un serveur DNS personnalisé à l'aide de la commande
podman --dns
. - La création et la vérification des signatures sigstore à l'aide de Fulcio et Rekor sont désormais disponibles.
- Amélioration de la compatibilité avec Docker (nouvelles options et alias).
-
Amélioration de l'intégration Kubernetes de Podman - les commandes
podman kube generate
etpodman kube play
sont maintenant disponibles et remplacent les commandespodman generate kube
etpodman play kube
. Les commandespodman generate kube
etpodman play kube
sont toujours disponibles mais il est recommandé d'utiliser les nouvelles commandespodman kube
. -
Les pods gérés par Systemd et créés par la commande
podman kube play
s'intègrent désormais à sd-notify, en utilisant l'annotationio.containers.sdnotify
(ouio.containers.sdnotify/$name
pour des conteneurs spécifiques). -
Les pods gérés par Systemd et créés par
podman kube play
peuvent maintenant être mis à jour automatiquement, en utilisant l'annotationio.containers.auto-update
(ouio.containers.auto-update/$name
pour des conteneurs spécifiques).
Podman a été mis à jour vers la version 4.4. Pour plus d'informations sur les changements notables, voir les notes de version en amont.
Jira:RHELPLAN-136607
Aardvark et Netavark prennent désormais en charge la sélection de serveurs DNS personnalisés
Les piles réseau Aardvark et Netavark prennent désormais en charge la sélection d'un serveur DNS personnalisé pour les conteneurs au lieu des serveurs DNS par défaut de l'hôte. Vous disposez de deux options pour spécifier le serveur DNS personnalisé :
-
Ajouter le champ
dns_servers
dans le fichier de configurationcontainers.conf
. -
Utilisez la nouvelle option
--dns
Podman pour spécifier l'adresse IP du serveur DNS.
L'option --dns
remplace les valeurs du fichier container.conf
.
Jira:RHELPLAN-138024
Skopeo permet désormais de générer des paires de clés sigstore
Vous pouvez utiliser la commande skopeo generate-sigstore-key
pour générer une paire de clés publiques/privées Sigstore. Pour plus d'informations, voir la page de manuel skopeo-generate-sigstore-key
.
Jira:RHELPLAN-151481
La boîte à outils est désormais disponible
Avec l'utilitaire toolbox
, vous pouvez utiliser l'environnement de ligne de commande conteneurisé sans installer les outils de dépannage directement sur votre système. Toolbox s'appuie sur Podman et d'autres technologies de conteneurs standard de l'OCI. Pour plus d'informations, voir toolbx.
Jira:RHELPLAN-150266
Les images des conteneurs ont désormais une étiquette à deux chiffres
Dans RHEL 9.0 et RHEL 9.1, les images de conteneurs avaient une étiquette à trois chiffres. À partir de RHEL 9.2, les images de conteneurs ont désormais une étiquette à deux chiffres.
Jira:RHELPLAN-147982
Il est possible d'utiliser plusieurs clés GPG de confiance pour signer les images
Le fichier /etc/containers/policy.json
prend en charge un nouveau champ keyPaths
qui accepte une liste de fichiers contenant les clés de confiance. De ce fait, les images de conteneurs signées avec les clés GPG General Availability et Beta de Red Hat sont désormais acceptées dans la configuration par défaut.
Par exemple :
"registry.redhat.io": [ { "type": "signedBy", "keyType": "GPGKeys", "keyPaths": ["/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release", "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta"] } ]
Jira:RHELPLAN-129327
Podman prend désormais en charge les crochets de pré-exécution
Les scripts d'extension appartenant à la racine et situés dans les répertoires /usr/libexec/podman/pre-exec-hooks
et /etc/containers/pre-exec-hooks
définissent un contrôle fin sur les opérations du conteneur, notamment en bloquant les actions non autorisées.
Le fichier /etc/containers/podman_preexec_hooks.txt
doit être créé par un administrateur et peut être vide. Si /etc/containers/podman_preexec_hooks.txt
n'existe pas, les scripts d'extension ne seront pas exécutés. Si tous les scripts du plugin renvoient une valeur nulle, la commande podman
est exécutée, sinon la commande podman
se termine avec le code de sortie hérité.
Red Hat recommande d'utiliser la convention d'appellation suivante pour exécuter les scripts dans l'ordre correct : DDD-plugin_name.lang
, par exemple 010-check-group.py
. Notez que les scripts du plugin sont valides au moment de la création. Les conteneurs créés avant les scripts de plugins ne sont pas affectés.
Bugzilla:2119200
Les signatures sigstore sont maintenant disponibles
À partir de Podman 4.2, vous pouvez utiliser le format sigstore pour les signatures d'images de conteneurs. Les signatures sigstore sont stockées dans le registre des conteneurs avec l'image du conteneur, sans qu'il soit nécessaire d'avoir un serveur de signatures distinct pour stocker les signatures des images.
Jira:RHELPLAN-74672
La boîte à outils permet de créer des conteneurs RHEL 9
Auparavant, l'utilitaire Toolbox ne prenait en charge que les images RHEL UBI 8. Avec cette version, Toolbox prend désormais également en charge RHEL UBI 9. Par conséquent, vous pouvez créer un conteneur Toolbox basé sur RHEL 8 ou 9.
La commande suivante crée un conteneur RHEL basé sur la même version de RHEL que votre système hôte :
$ toolbox create
Vous pouvez également créer un conteneur avec une version spécifique de RHEL. Par exemple, pour créer un conteneur basé sur RHEL 9.2, utilisez la commande suivante :
$ toolbox create --distro rhel --release 9.2
Nouveau paquet : passt
Cette mise à jour ajoute le paquet passt
, qui permet d'utiliser le réseau sans racine pasta
pour les conteneurs.
Par rapport à la connexion Slirp
, qui est actuellement utilisée par défaut par Podman pour les réseaux non privilégiés, pasta
apporte les améliorations suivantes :
- Amélioration du débit et meilleure prise en charge de l'IPv6, y compris la prise en charge du protocole NDP (Neighbor Discovery Protocol) et du protocole DHCPv6
- Possibilité de configurer le transfert de ports TCP et UDP sur IPv6
Pour utiliser pasta
afin de connecter un conteneur Podman, utilisez l'option de ligne de commande --network pasta
.