Remarques :

Gérer les environnements d'exécution dans Oracle Linux Automation Manager Private Automation Hub

Introduction

Private Automation Hub est un référentiel Oracle Linux Automation Manager permettant de gérer localement les collections, les images d'environnement d'exécution et tout autre contenu organisé au sein de l'infrastructure d'un client.

Ce tutoriel explique comment installer Private Automation Hub et télécharger un environnement d'exécution personnalisé vers son registre de conteneurs. Pour plus de détails sur la création d'environnements d'exécution personnalisés, reportez-vous à notre tutoriel sur l'utilitaire Builder.

Objectifs

Dans ce tutoriel, vous apprendrez à :

Prérequis

Déployer Oracle Linux

Remarque : si vous êtes en cours d'exécution dans votre propre location, lisez le projet linux-virt-labs GitHub README.md et complétez les prérequis avant de déployer l'environnement d'exercice.

  1. Ouvrez un terminal sur le bureau Luna.

  2. Clonez le projet linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Accédez au répertoire de travail.

    cd linux-virt-labs/olam
    
  4. Installez les ensembles requis.

    ansible-galaxy collection install -r requirements.yml
    
  5. Mettez à jour la configuration de l'instance Oracle Linux.

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "devops-node"
        type: "server"
      2:
        instance_name: "ol-pah"
        type: "server"
    passwordless_ssh: true
    use_olam_builder: true
    use_devops_vnc: true
    add_pah_ports: true
    olam_type: none
    EOF
    
  6. Créez un fichier d'inventaire.

    cat << EOF | tee hosts > /dev/null
    localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6
    EOF
    
  7. Déployez l'environnement d'exercice.

    ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
    

    L'environnement d'atelier gratuit requiert la variable supplémentaire ansible_python_interpreter pour localhost car il installe le package RPM pour le kit SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de ce package se trouve sous les modules Python par défaut du système en fonction de votre version d'Oracle Linux. L'utilisation d'une variable d'inventaire évite d'avoir un impact sur les lectures en cours d'exécution sur des hôtes autres que localhost.

    La forme de déploiement par défaut utilise l'UC AMD. Vous pouvez modifier la forme des instances en transmettant une nouvelle définition de variable de forme sur la ligne de commande.

    Par exemple : -e instance_shape="VM.Standard3.Flex"

    De même, la version par défaut de l'image Oracle Linux utilise la variable os_version définie dans le fichier `default_vars.yml. Vous pouvez modifier cette valeur en transmettant la version majeure d'Oracle Linux sur la ligne de commande.

    Par exemple : -e os_version="9"

    Important : attendez que le guide de lecture s'exécute correctement et atteignez la tâche de pause. A ce stade du manuel, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Notez la lecture précédente, qui affiche les adresses IP publiques et privées des noeuds qu'elle déploie.

Installation des packages Private Automation Hub

  1. Ouvrez un terminal et connectez-vous via SSH à l'instance ol-pah.

    ssh oracle@<ip_address_of_instance>
    
  2. Installez le référentiel Oracle Linux Automation Manager.

    Oracle Linux 8 ::

    sudo dnf install -y oraclelinux-automation-manager-release-el8
    

    Oracle Linux 9 ::

    sudo dnf install -y oraclelinux-automation-manager-release-el9
    
  3. Installez le package Private Automation Hub.

    sudo dnf install -y ol-private-automation-hub-installer
    

    Cette commande installe les guides d'installation et les rôles d'installation Private Automation Hub, ansible-core, python3.11 et d'autres dépendances de package.

Installer Private Automation Hub

Lors de l'installation de Private Automation Hub, vous devez définir les mots de passe du compte superutilisateur Private Automation Hub admin et de sa base de données back-end. Plutôt que de les transmettre au playbook en plein air, nous allons effectuer cette étape de manière plus sécurisée en utilisant ansible-vault.

L'utilitaire ansible-vault, fourni avec Oracle Linux Automation Engine, permet le cryptage et le décryptage des fichiers de données structurées, y compris les fichiers texte, les variables et les livres de lecture YAML.

Nous allons crypter un fichier variable contenant nos deux mots de passe à nos fins.

  1. Copiez le livre de jeux Private Automation Hub dans le répertoire de travail.

    cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
    
  2. Accédez au répertoire de travail.

    cd ~/single_node
    
  3. Créez un fichier d'inventaire.

    Le fichier d'inventaire de ce livre de jeux requiert le nom d'hôte et le nom d'utilisateur SSH où le livre de jeux installera Private Automation Hub. Vous définissez le fichier d'inventaire au format INI ou YAML. L'inventaire d'échantillons hosts.singlenode.example dans le manuel d'installation utilise YAML. Nous utiliserons donc le format INI ici pour présenter une autre option.

    tee hosts > /dev/null <<EOF
    [hub]
    ol-pah ansible_host=ol-pah ansible_user=oracle
    EOF
    

    Contrairement à l'exemple qui utilise hub comme alias pour ansible_host, ce fichier d'inventaire INI utilise hub comme nom de groupe. Les groupes permettent de créer des relations parent-enfant entre les hôtes et de les classer dans une ou plusieurs catégories pour exécuter des tâches ou affecter des variables.

  4. Créez un coffre contenant les variables de mot de passe.

    ansible-vault create vault_passwords.yml
    

    Lors de l'exécution de la commande, elle vous invite à créer un mot de passe de coffre. L'utilitaire ansible-vault utilise ce mot de passe pour déchiffrer le contenu du coffre et accéder à ce contenu à partir d'un livre de jeux. Le mot de passe peut être n'importe quelle combinaison de caractères, mais n'oubliez pas, car vous ne pouvez pas le récupérer.

    Une fois que vous avez entré et confirmé le mot de passe, l'utilitaire ouvre le fichier vault_passwords.yml dans votre éditeur par défaut. Pour l'environnement d'exercice libre, l'éditeur est vi. Saisissez i pour entrer en mode INSERT et coller ces exemples de variables de mot de passe Private Automation Hub.

    Remarque : Il s'agit des variables utilisées par le livre de jeux lors de l'installation de Private Automation Hub et de la définition des mots de passe de superutilisateur et de base de données.

    ---
    olpah_admin_password: password
    olpah_db_password: password
    

    Fermez et enregistrez le fichier en saisissant ESC, :wq!, puis ENTER.

  5. Vérifiez le contenu du coffre.

    ansible-vault view vault_passwords.yml
    

    Entrez le mot de passe du coffre à l'invite et ansible-vault affiche le contenu du coffre dans le terminal.

  6. Exécutez le livre de jeux Private Automation Hub.

    ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
    
    • -i définit le fichier d'inventaire.
    • -e définit les variables d'exécution en tant que paires key=value ou dans un fichier de variables.
    • --ask-vault-pass invite à saisir le mot de passe du coffre

    Il existe d'autres méthodes pour fournir le mot de passe du coffre, que vous pouvez consulter dans la documentation en amont.

    Remarque : l'installation de Private Automation Hub prend de 10 à 20 minutes. Au cours de l'installation, la progression du livre de lecture défile dans le terminal jusqu'à ce que toutes les tâches soient terminées.

Ouvrez une session VNC vers l'instance DevOps.

La session VNC vous permet de vous connecter à l'interface utilisateur Web de Private Automation Hub à l'aide du nom d'hôte ou du nom de domaine qualifié complet (FQDN) dans l'environnement d'exercice gratuit. L'utilisation du nom d'hôte ou du nom de domaine qualifié complet est requise car la protection intégrée de Django protège l'interface utilisateur Web contre les attaques CSRF (Cross-Site Request Forgery).

  1. Quittez la session SSH existante.

    exit
    
  2. Ouvrez un nouveau terminal et connectez-vous à l'instance devops-node via SSH.

    L'option -L active le transfert local, qui ouvre un port local pour la connexion via un tunnel SSH au serveur VNC distant.

    ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
    
  3. Passez au bureau Luna.

  4. Ouvrez le visualiseur TigerVNC en cliquant sur le menu Applications, sur Internet, puis sur Visualiseur TigerVNC.

    menu vnc

  5. Connectez-vous à l'environnement GUI du serveur déployé en saisissant localhost:5914 dans la zone de texte VNC Server et en appuyant sur le bouton Connect.

    Connexion VNC

  6. Entrez le mot de passe de l'utilisateur oracle oracle et appuyez sur le bouton OK.

    vnc-pwd

  7. Le bureau de l'interface graphique du serveur s'affiche avec une première configuration de connexion.

    gui-welcome

  8. Appuyez trois fois sur le bouton Next, puis sur le bouton Skip, suivi du bouton Start Using Oracle Linux Server. Enfin, fermez ou réduisez la fenêtre Mise en route.

    démarrage-utilisation-ol

Connexion à Private Automation Hub

  1. Ouvrez un navigateur Web dans la session VNC et entrez l'URL.

    https://ol-pah
    

    Remarque : Approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Pour Chrome, cliquez sur le bouton Advanced, puis sur le lien Proceed to localhost (unsafe).

  2. Connectez-vous à l'interface utilisateur Web de Private Automation Hub.

    Utilisez le nom utilisateur admin et le mot de passe password. Ce mot de passe est la valeur que nous avons définie pour olpah_admin_password dans le fichier de variables d'exécution.

    Connexion pah

  3. L'interface utilisateur Web s'affiche après une connexion réussie.

    pah-webui

Ajouter un environnement d'exécution à l'aide de l'interface utilisateur Web

Les environnements d'exécution sont l'un des éléments gérés par Private Automation Hub. Cette fonctionnalité permet à Private Automation Hub de servir de référentiel pour les images de conteneur, ce qui permet aux administrateurs d'interagir avec elles à l'aide de Podman et de l'interface utilisateur Web.

  1. Cliquez sur Registres distants dans l'interface utilisateur Web sous Environnements d'exécution dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter un registre distant.

  3. Saisissez les valeurs suivantes dans les champs spécifiques.

    • Nom : Quay Upstream Registry
    • URL : https://quay.io
  4. Cliquez sur le bouton Enregistrer.

    Le registre distant que vous venez de créer s'affiche dans le panneau Registres distants.

  5. Cliquez sur Environnements d'exécution sous Environnements d'exécution dans le menu de navigation.

  6. Cliquez sur le bouton Ajouter un environnement d'exécution.

    L'interface utilisateur Web affiche la boîte de dialogue Ajouter un environnement d'exécution. Nous pouvons extraire des images de conteneur à partir de registres en amont ou autres via cette boîte de dialogue.

  7. Saisissez ou sélectionnez les valeurs suivantes dans les champs spécifiques.

    • Nom : upstream/awx-ee
    • Nom en amont : ansible/awx-ee
    • Registry : Registre en amont Quay
    • Ajouter des balises à inclure : saisissez latest, puis ENTER
  8. Cliquez sur le bouton Enregistrer.

    L'environnement d'exécution nouvellement créé apparaît dans le panneau Environnements d'exécution.

  9. Synchronisez l'environnement d'exécution upstream/awx-ee à partir du registre distant.

    1. Cliquez sur le menu vertical à trois points à droite de l'élément upstream/awx-ee.

    2. Sélectionner Synchroniser à partir du registre

      Une boîte de dialogue contextuelle apparaît, indiquant que la synchronisation a démarré.

    3. Cliquez sur le lien de la page de détails dans la boîte de dialogue contextuelle pour afficher le statut de cette tâche.

    4. La tâche affiche une icône Terminé.

    5. Cliquez sur Environnements d'exécution sous Environnements d'exécution dans le menu de navigation.

    6. Cliquez sur le lien upstream/awx-ee dans le panneau Environnements d'exécution.

      Ce lien affiche les instructions d'extraction de cette image à partir de Private Automation Hub sous l'onglet Détails.

    7. Cliquez sur l'onglet Images.

      Ce panneau affiche plus de détails sur l'image, notamment sa balise, sa taille et sa synthèse sha256.

Environnement d'exécution Push à l'aide de Podman

  1. Ouvrez un terminal et connectez-vous via SSH à l'instance devops-node.

    ssh oracle@<ip_address_of_instance>
    

    Cette instance contient une installation de l'utilitaire Builder et un environnement d'exécution personnalisé prédéfini. Pour plus de détails sur l'exécution de ces tâches, reportez-vous à Création d'environnements d'exécution personnalisés à l'aide de l'utilitaire de génération d'Oracle Linux Automation Manager.

  2. Accédez au répertoire de travail du projet.

    cd ~/my_custom_ee_project
    

    Ce répertoire contient les fichiers de données de l'utilitaire Builder, que Podman utilise pour créer l'image de l'environnement d'exécution personnalisé.

  3. Répertoriez les images locales existantes.

    podman images
    

    La sortie affiche notre image personnalisée et les images olam-ee et olam-builder par défaut d'Oracle Linux Automation Manager.

  4. Connectez-vous à Private Automation Hub.

    podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
    
    • -u est un utilisateur disposant de privilèges permettant d'accéder au registre de conteneurs.
    • ol-pah.$(hostname -d) est le nom de domaine qualifié complet du registre de conteneur.
    • --tls-verify=0 désactive la vérification des certificats TLS car l'environnement d'exercice libre utilise des certificats autosignés

    La commande invite à saisir une valeur Password:. Entrez le mot de passe correspondant aux informations d'identification de connexion de l'utilisateur Private Automation Hub admin.

  5. Marquez l'image personnalisée locale.

    Avant de propager l'image vers le registre Private Automation Hub, créez la structure de référentiel et la balise requises à l'aide de l'image locale.

    podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
    
  6. Vérifiez que la nouvelle image balisée existe.

    podman images
    

    Exemple de résultat :

    [oracle@devops-node my_custom_ee_project]$ podman images
    REPOSITORY                                                                  TAG         IMAGE ID      CREATED      SIZE
    localhost/my_custom_ee                                                      latest      fbc43634b168  5 hours ago  2.29 GB
    ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image                  latest      fbc43634b168  5 hours ago  2.29 GB
    <none>                                                                      <none>      92aa94db3699  5 hours ago  1.4 GB
    <none>                                                                      <none>      cc087fbfa018  5 hours ago  1.45 GB
    container-registry.oracle.com/oracle_linux_automation_manager/olam-ee       latest      368657c8376d  5 weeks ago  1.25 GB
    container-registry.oracle.com/oracle_linux_automation_manager/olam-builder  latest      5e98580f7956  5 weeks ago  546 MB
    
  7. Chargez l'image personnalisée dans Private Automation Hub.

    Remarque : remplacez <IMAGE ID> par l'ID d'image réel de my_first_olam_ee_image dans la sortie podman images.

    podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
    
  8. Confirmez le chargement dans l'interface utilisateur Web.

    1. Basculez vers le navigateur contenant l'interface utilisateur Web de Private Automation Hub.

    2. Accédez à Environnements d'exécution.

    3. Notez le nouveau fichier my_first_olam_ee_image.

      pah-ee

Etapes suivantes

La sortie de l'interface utilisateur Web confirme que vous disposez d'un hub d'automatisation Private Automation Hub fonctionnel et que vous pouvez charger et stocker vos images personnalisées. Consultez nos autres tutoriels à l'aide d'Oracle Linux Automation Manager pour vous entraîner.

Ressources de formation supplémentaires

Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.