Rechercher

Chapitre 5. Composition d'une image RHEL for Edge à l'aide de la ligne de commande image builder

download PDF

Vous pouvez utiliser le constructeur d'images pour créer une image RHEL for Edge personnalisée (OSTree commit).

Pour accéder au constructeur d'images et créer votre image RHEL for Edge personnalisée, vous pouvez utiliser l'interface de la console web RHEL ou l'interface de ligne de commande.

Pour les déploiements basés sur le réseau, le processus de composition des images RHEL for Edge à l'aide de l'interface de programmation comprend les étapes de haut niveau suivantes :

  1. Créer un modèle pour l'image RHEL for Edge
  2. Créer une image RHEL for Edge Commit
  3. Télécharger l'image RHEL for Edge Commit

Pour les déploiements non basés sur le réseau, le processus de composition des images RHEL for Edge à l'aide de la CLI comprend les étapes de haut niveau suivantes :

  1. Créer un modèle pour l'image RHEL for Edge
  2. Créer un modèle pour l'image RHEL for Edge Installer
  3. Créer une image RHEL for Edge Container
  4. Créer une image RHEL for Edge Installer
  5. Télécharger l'image RHEL for Edge

Pour effectuer les démarches, utilisez le logiciel composer-cli.

Note

Pour exécuter les commandes composer-cli en tant que non-root, vous devez faire partie du groupe weldr ou disposer d'un accès administrateur au système.

5.1. Flux de travail pour les déploiements en réseau

Ceci fournit les étapes pour construire OSTree commits. Ces commits OSTree contiennent un système d'exploitation complet, mais ne sont pas directement amorçables. Pour les démarrer, vous devez les déployer à l'aide d'un fichier Kickstart.

5.1.1. Création d'un modèle d'image RHEL for Edge Commit à l'aide de l'interface en ligne de commande image builder

Créez un schéma directeur pour l'image RHEL for Edge Commit à l'aide de la CLI.

Prérequis

  • Vous n'avez pas de plan existant. Pour le vérifier, dressez la liste des plans existants :

    $ sudo composer-cli blueprints list

Procédure

  1. Créez un fichier texte au format TOML, avec le contenu suivant :

    name = "blueprint-name"
    description = "blueprint-text-description"
    version = "0.0.1"
    modules = [ ]
    groups = [ ]

    Où ?

    • blueprint-name est le nom et blueprint-text-description est la description de votre plan.
    • 0.0.1 est le numéro de version selon le schéma de versionnement sémantique.
    • Modules décrivent le nom du paquet et la version correspondante à installer dans l'image. Par exemple, le nom du paquet = "tmux" et la version correspondante est version = "2.9a".

      Notez qu'il n'y a actuellement aucune différence entre les paquets et les modules.

    • Groups sont des groupes de paquets à installer dans l'image, par exemple le groupe de paquets anaconda-tools.

      A ce stade, si vous ne connaissez pas les modules et les groupes, laissez-les vides.

  2. Incluez les paquets requis et adaptez les autres détails du plan à vos besoins.

    Pour chaque paquet que vous souhaitez inclure dans le plan, ajoutez les lignes suivantes au fichier :

    [[packages]]
    name = "package-name"
    version = "package-version"

    Où ?

    • package-name est le nom du paquet, tel que httpd, gdb-doc, ou coreutils.
    • package-version est le numéro de version du paquet que vous souhaitez utiliser.

      La version du paquet prend en charge les spécifications de version dnf suivantes :

    • Pour une version spécifique, utilisez le numéro de version exact, par exemple 9.0.
    • Pour la dernière version disponible, utilisez l'astérisque *.
    • Pour la dernière version mineure, utilisez des formats tels que 9.*.
  3. Pousser (importer) le plan vers le serveur de construction d'images :

    # composer-cli blueprints push blueprint-name.toml
  4. Liste les plans existants pour vérifier si le plan créé a été poussé avec succès et s'il existe.

    # composer-cli blueprints show BLUEPRINT-NAME
  5. Vérifiez si les composants et les versions répertoriés dans le plan et leurs dépendances sont valides :

    # composer-cli blueprints depsolve blueprint-name

Ressources supplémentaires

5.1.2. Création d'une image RHEL for Edge Commit à l'aide de l'interface en ligne de commande image builder

Pour créer une image RHEL for Edge Commit à l'aide de l'interface de ligne de commande image builder, assurez-vous d'avoir rempli les conditions préalables suivantes et suivez la procédure.

Conditions préalables

  • Vous avez créé un schéma directeur pour l'image RHEL for Edge Commit.

Procédure

  1. Créez l'image RHEL for Edge Commit.

    # composer-cli compose start blueprint-name image-type

    Où ?

    • blueprint-name est le nom du plan RHEL for Edge.
    • image-type est edge-commit pour network-based deployment.

      Une confirmation de l'ajout du processus de composition à la file d'attente s'affiche. Elle indique également un numéro d'identifiant universel unique (UUID) pour l'image créée. Utilisez le numéro UUID pour suivre votre construction. Conservez également le numéro UUID à portée de main pour d'autres tâches.

  2. Vérifier l'état de la composition de l'image.

    # composer-cli compose status

    La sortie affiche l'état dans le format suivant :

    <UUID> RUNNING date blueprint-name blueprint-version image-type
    Note

    Le processus de création d'une image dure jusqu'à 20 minutes.

    Pour interrompre le processus de création d'image, exécutez :

    # composer-cli composer cancel <UUID>

    Pour supprimer une image existante, exécutez :

    # composer-cli composer delete <UUID>

    Une fois que l'image est prête, vous pouvez la télécharger et l'utiliser sur votre site network deployments.

5.1.3. Création d'une mise à jour d'image RHEL for Edge avec un ref commit à l'aide de l'interface en ligne de commande image builder

Si vous avez modifié un plan existant, par exemple en ajoutant un nouveau package, et que vous souhaitez mettre à jour une image RHEL for Edge existante avec ce nouveau package, vous pouvez utiliser l'argument --parent pour générer une image RHEL for Edge Commit (.tar) mise à jour. L'argument --parent doit être un ref qui existe dans le référentiel spécifié par l'argument URL. L'argument --ref vous permet de spécifier un ref existant qui récupère un parent pour le nouveau commit que vous construisez. Vous devez spécifier le commit parent sous la forme d'une valeur ref à résoudre et à extraire, et non sous la forme d'un identifiant de commit, par exemple rhel/9/x86_64/edge. Lorsque vous spécifiez le commit parent sous la forme d'une valeur ref, Image Builder peut lire des informations du commit parent qui affecteront des parties du nouveau commit que vous construisez. Par conséquent, Image builder lit la base de données des utilisateurs du commit parent et préserve les UID et les GID pour les utilisateurs et les groupes du système créés par le paquet.

Pour créer une image RHEL for Edge avec un argument parent à l'aide de l'interface CLI de construction d'images, assurez-vous d'avoir rempli les conditions préalables suivantes et suivez la procédure.

Conditions préalables

  • Vous avez mis à jour un plan existant pour l'image RHEL for Edge.
  • Vous disposez d'une image RHEL for Edge existante (commit OSTree). Voir Extraction du commit de l'image RHEL for Edge.
  • Le site ref en cours de construction est disponible dans le dépôt OSTree spécifié par l'URL.

Procédure

  1. Créer l'image RHEL for Edge commit :

    # composer-cli compose start-ostree --ref rhel/9/x86_64/edge --parent parent-OSTree-REF --url URL blueprint-name image-type

    Par exemple :

    • Pour créer un nouveau commit RHEL for Edge basé sur un parent et avec un nouveau ref, exécutez la commande suivante: :

      # composer-cli compose start-ostree --ref rhel/9/x86_64/edge --parent rhel/9/x86_64/edge --url http://10.0.2.2:8080/repo rhel_update edge-commit
    • Pour créer un nouveau commit RHEL for Edge basé sur le même site ref, exécutez la commande suivante :

      # composer-cli compose start-ostree --ref rhel/9/x86_64/edge --url http://10.0.2.2:8080/repo rhel_update edge-commit

      Où ?

      • L'argument --ref spécifie le même chemin d'accès que celui que vous avez utilisé pour créer un référentiel OSTree.
      • L'argument --parent spécifie le commit parent en tant que ref à résoudre et à extraire, et non en tant qu'identifiant de commit, par exemple rhel/9/x86_64/edge.
      • blueprint-name est le nom du plan RHEL for Edge.
      • L'argument --url spécifie l'URL du dépôt OSTree de l'engagement à intégrer dans l'image, par exemple http://10.0.2.2:8080/repo.
      • image-type est edge-commit pour network-based deployment.

        Note
        • L'argument --parent ne peut être utilisé que pour le type d'image RHEL for Edge Commit (.tar). L'utilisation conjointe des arguments --url et --parent entraîne des erreurs avec le type d'image RHEL for Edge Container (.tar).
        • Si vous omettez l'argument parent ref, le système revient à l'adresse ref spécifiée par l'argument --ref.

        Une confirmation de l'ajout du processus de composition à la file d'attente s'affiche. Elle indique également un numéro d'identifiant universel unique (UUID) pour l'image créée. Utilisez le numéro UUID pour suivre votre construction. Conservez également le numéro UUID à portée de main pour d'autres tâches.

  2. Vérifier l'état de la composition de l'image.

    # composer-cli compose status

    La sortie affiche l'état dans le format suivant :

    <UUID> RUNNING date blueprint-name blueprint-version image-type
    Note

    Le processus de création de l'image prend quelques minutes.

    (Facultatif) Pour interrompre le processus de création d'image, exécutez :

    # composer-cli composer cancel <UUID>

    (Facultatif) Pour supprimer une image existante, exécutez :

    # composer-cli composer delete <UUID>

Une fois la création de l'image terminée, pour mettre à niveau un déploiement OSTree existant, vous devez :

5.1.4. Téléchargement d'une image RHEL for Edge à l'aide de l'interface de ligne de commande du constructeur d'images

Pour télécharger une image RHEL for Edge à l'aide de l'interface de ligne de commande image builder, assurez-vous d'avoir rempli les conditions préalables suivantes, puis suivez la procédure.

Conditions préalables

  • Vous avez créé une image RHEL for Edge.

Procédure

  1. Examinez l'état de l'image RHEL for Edge.

    # composer-cli compose status

    La sortie doit afficher ce qui suit :

    $ <UUID> FINIS date blueprint-name blueprint-version image-type
  2. Télécharger l'image.

    # composer-cli compose image <UUID>

    Image builder télécharge l'image sous forme de fichier tar dans le répertoire actuel.

    Le numéro UUID et la taille de l'image s'affichent à côté.

    $ <UUID>-commit.tar : size MB

L'image contient un commit et un fichier json avec des métadonnées d'information sur le contenu du référentiel.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.