Note :

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

Présentation

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

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

Objectifs

Dans ce tutoriel, vous apprendrez à :

Préalables

Déployer Oracle Linux

Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.

  1. Ouvrez un terminal sur le Luna Desktop.

  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 collections requises.

    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. Sert à créer 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 de l'exercice.

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

    L'environnement de laboratoire gratuit nécessite la variable supplémentaire ansible_python_interpreter pour localhost, car il installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de cet ensemble est 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 une incidence sur les lectures exécutées sur des hôtes autres que localhost.

    La forme de déploiement par défaut utilise l'unité centrale 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 principale d'Oracle Linux sur la ligne de commande.

    Par exemple : -e os_version="9"

    Important : Attendez que le livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. À ce stade du livre de jeu, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Notez la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il déploie.

Installer les ensembles 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 l'ensemble Private Automation Hub.

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

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

Installer Private Automation Hub

Lors de l'installation de Private Automation Hub, vous devez définir les mots de passe pour le compte de superutilisateur admin de Private Automation Hub et sa base de données dorsale. Plutôt que de les transmettre au livre de jeux à l'air libre, procédons à cette étape en toute sécurité en utilisant ansible-vault.

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

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

  1. Copiez le livre de jeu 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. Sert à créer un fichier d'inventaire.

    Le fichier d'inventaire de ce livre de jeu nécessite le nom d'hôte et le nom d'utilisateur SSH où le livre de jeu installera le Private Automation Hub. Vous définissez le fichier d'inventaire au format INI ou YAML. L'exemple d'inventaire hosts.singlenode.example dans le livre de jeu d'installation utilise YAML, nous allons donc utiliser le format INI ici pour démontrer une option alternative.

    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 catégoriser en une ou plusieurs catégories pour exécuter des tâches ou affecter des variables.

  4. Créez une chambre forte 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 chambre forte. L'utilitaire ansible-vault utilise ce mot de passe pour déchiffrer le contenu de la chambre forte et accéder à ce contenu à partir d'un livre de jeu. 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 de laboratoire gratuit, l'éditeur est vi. Entrez i pour entrer le mode INSERT et collez ces exemples de variables de mot de passe Private Automation Hub.

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

    ---
    olpah_admin_password: password
    olpah_db_password: password
    

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

  5. Vérifiez le contenu du coffre-fort.

    ansible-vault view vault_passwords.yml
    

    Entrez le mot de passe de la chambre forte à l'invite et ansible-vault affiche le contenu de la chambre forte dans le terminal.

  6. Exécutez le livre de jeu 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 toutes les variables d'exécution en tant que paires key=value ou dans un fichier de variable
    • --ask-vault-pass invite à entrer le mot de passe de la chambre forte

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

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

Ouvrir une session VNC vers l'instance DevOps

La session VNC vous permet de vous connecter à l'interface utilisateur Web Private Automation Hub à l'aide du nom d'hôte ou du nom de domaine complet dans l'environnement de laboratoire gratuit. L'utilisation du nom d'hôte ou du nom de domaine complet est requise, car la protection intégrée de Django protège l'interface utilisateur Web contre les attaques par falsification de demande intersites (CSRF).

  1. Quittez la session SSH existante.

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

    L'option -L active le transfert local, qui ouvre un port local pour se connecter au serveur VNC distant au moyen d'un tunnel SSH.

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

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

    vnc-menu

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

    connexion vnc

  6. Entrez le mot de passe de l'utilisateur oracle oracle et cliquez 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-bienvenue

  8. Appuyez trois fois sur le bouton Suivant, puis sur le bouton Ignorer, suivi du bouton Démarrer à l'aide d'Oracle Linux Server. Enfin, fermez ou réduisez la fenêtre Démarrage.

    utilisation initiale-ol

Se connecter à Private Automation Hub

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

    https://ol-pah
    

    Note : 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 Private Automation Hub.

    Utilisez le nom d'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 des 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

L'un des éléments gérés par Private Automation Hub est les environnements d'exécution. Cette fonction 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. Entrez 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 nouvellement créé apparaît 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. Cette boîte de dialogue permet d'extraire des images de conteneur de l'amont ou d'autres registres.

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

    • Nom : upstream/awx-ee
    • Nom de l'amont : ansible/awx-ee
    • Registre : Registre en amont Quay
    • Ajouter des marqueurs à inclure : Entrez 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 à trois points vertical à droite de l'élément en amont/en amont.

    2. Sélectionnez Synchroniser à partir du registre

      Une boîte de dialogue contextuelle s'affiche et indique que la synchronisation a commencé.

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

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

    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 pour extraire cette image de Private Automation Hub dans l'onglet Détails.

    7. Cliquez sur l'onglet Images.

      Ce panneau affiche plus de détails sur l'image, notamment son marqueur, sa taille et son condensé sha256.

Pousser l'environnement d'exécution à l'aide de Podman

  1. Ouvrez un terminal et connectez-vous au moyen de 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, voir Créer des environnements d'exécution personnalisés avec l'utilitaire Oracle Linux Automation Manager Builder.

  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. Liste des 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 pour accéder au registre de conteneur
    • ol-pah.$(hostname -d) est le nom de domaine complet du registre de conteneur
    • --tls-verify=0 désactive la vérification du certificat TLS car l'environnement de laboratoire gratuit utilise des certificats auto-signés

    La commande invite à entrer Password:. Entrez le mot de passe correspondant aux données d'identification de connexion pour l'utilisateur admin de Private Automation Hub.

  5. Marquez l'image personnalisée locale.

    Avant de pousser l'image vers le registre Private Automation Hub, créez la structure de référentiel et le marqueur requis à 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 marquée existe.

    podman images
    

    Exemple de sortie :

    [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.

    Note : Remplacez <IMAGE ID> par l'ID image réel de my_first_olam_ee_image à partir de 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. Passez au navigateur contenant l'interface utilisateur Web de Private Automation Hub.

    2. Naviguez jusqu'à Environnements d'exécution.

    3. Notez la nouvelle my_first_olam_ee_image.

      pah-ee

Étapes suivantes

La sortie de l'interface utilisateur Web confirme que vous disposez d'un 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 mettre en pratique vos compétences.

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

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