Ce que les utilisateurs Linux et les empaqueteurs doivent savoir sur Podman 4.0 sur Fedora


  • FrançaisFrançais


  • La nouvelle sortie Podman 4.0 propose une réécriture complète de la pile réseau basée sur Netavark et Aardvark, qui fonctionnera parallèlement à la pile CNI (Container Networking Interface) existante.

    Netavark est un outil basé sur Rust pour configurer la mise en réseau des conteneurs Linux qui remplace les plugins CNI (containernetworking-plugins sur Fedora). Aardvark-dns est désormais le serveur DNS faisant autorité pour les enregistrements de conteneurs. La nouvelle pile s’accompagne de changements d’empaquetage de distribution ainsi que de changements de disponibilité du référentiel pour Fedora 35.

    Pour les utilisateurs de Fedora

    Podman v4 est disponible en tant que package Fedora officiel sur Fedora 36 et Rawhide. Netavark et Aardvark-dns sont tous deux disponibles en tant que packages Fedora officiels sur Fedora 35 et les versions plus récentes et forment la pile réseau par défaut pour les nouvelles installations de Podman 4.0.

    Sur Fedora 36 et versions ultérieures, les nouvelles installations de Podman v4 installeront automatiquement Aardvark-dns avec Netavark.

    Pour installer Podman v4 :

    $ sudo dnf install podman

    Pour mettre à jour Podman d’une ancienne version vers la v4 :

    $ sudo dnf update podman

    Étant donné que Podman v4 comporte des changements de rupture par rapport à Podman v3, les utilisateurs de Fedora 35 ne peuvent pas installer Podman v4 à l’aide des référentiels par défaut. Cependant, si vous êtes impatient de l’essayer, vous pouvez utiliser un référentiel Copr à la place :

    $ sudo dnf copr enable rhcontainerbot/podman4

    # install or update per your needs
    $ sudo dnf install podman

    Après l’installation, si vous souhaitez migrer tous vos conteneurs pour utiliser Netavark, vous devez définir network_backend = "netavark" sous le [network] section dans votre containers.confgénéralement situé à /usr/share/containers/containers.conf.

    Test de la dernière version de développement

    Si vous souhaitez tester le dernier code en amont non publié, essayez le podman-next Copr :

    $ sudo dnf copr enable rhcontainerbot/podman-next

    $ sudo dnf install podman

    ATTENTION : Le podman-next Copr fournit les dernières sources inédites de Podman, Netavark et Aardvark-dns en tant que gestionnaires de packages RPM (RPM). Celles-ci remplaceront les versions fournies par les packages officiels.

    Pour les empaqueteurs Fedora

    Les sources d’emballage Fedora pour Podman sont disponibles dans Dépôt de Fedora pour l’entretien des colis. Le package Podman principal ne dépend plus explicitement de containernetworking-plugins. Les dépendances de la pile réseau sont maintenant gérées dans le containers-common package, qui permet un point unique de maintenance des dépendances pour Podman et Buildah.

    - containers-common
    Requires: container-network-stack
    Recommends: netavark

    - netavark
    Provides: container-network-stack = 2

    - containernetworking-plugins
    Provides: container-network-stack = 1

    Cette configuration garantit que :

    • Les nouvelles installations de Podman installeront toujours Netavark par défaut.
    • Le containernetworking-plugins package n’entrera pas en conflit avec Netavark, et les utilisateurs peuvent les installer ensemble.

    Liste des dépendances groupées

    Si vous avez besoin de répertorier les dépendances groupées dans vos sources d’empaquetage, vous pouvez traiter le go.mod fichier dans la source en amont. Par exemple, la source d’emballage de Fedora utilise :

    $ awk '{print "Provides: bundled(golang("$1")) = "$2}' go.mod | \
    sort | uniq | sed -e 's/-/_/g' -e '/bundled(golang())/d' -e '/bundled(golang(go\
    |module\|replace\|require))/d'

    Netavark et Aardvark-dns

    Les sources .tar fournies par Netavark et Aardvark-dns seront jointes en tant qu’artefact de version en amont. Ensuite, vous pouvez créer un fichier de configuration Cargo pour le faire pointer vers le répertoire du fournisseur :

    tar xvf %{SOURCE}
    mkdir -p .cargo
    cat >.cargo/config << EOF
    [source.crates-io]
    replace-with = "vendored-sources"[source.vendored-sources]
    directory = "vendor"
    EOF

    Les sources d’empaquetage Fedora pour Netavark et Aardvark-dns sont également disponibles dans le référentiel du projet Fedora.

    Les versions emballées Fedora des caisses Rust dont dépendent Netavark et Aardvark-dns sont souvent obsolètes (par exemple, rtnetlink, sha2, zbus et zvariant) au moment de la création initiale du paquet. En conséquence, Netavark et Aardvark-dns sont construits en utilisant les dépendances fournies en amont, trouvées dans le vendor sous-répertoire.

    Le binaire netavark est installé pour /usr/libexec/podman/netavarktandis que le binaire aardvark-dns est installé sur /usr/libexec/podman/aardvark-dns.

    Le netavark le paquet a un Recommends sur le aardvark-dns emballer. Le aardvark-dns package sera installé par défaut avec Netavark, mais Netavark fonctionnera sans lui.

    Liste des dépendances groupées

    Si vous avez besoin de répertorier les dépendances groupées dans vos sources d’empaquetage, vous pouvez exécuter le cargo tree commande dans la source en amont. Par exemple, la source d’emballage de Fedora utilise :

    $ cargo tree --prefix none |  \
    awk '{print "Provides: bundled(crate("$1")) = "$2}' | \
    sort | uniq

    Pour apprendre plus

    J’espère que vous avez trouvé ces mises à jour utiles. Si vous avez des questions, n’hésitez pas à ouvrir une discussion sur GitHub, ou à me contacter ou à contacter les autres responsables de Podman via Slack, IRC, Matrx ou Discord. Mieux encore, nous aimerions que vous Rejoignez notre communauté en tant que contributeur !

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.