Remarques :

Utiliser des environnements d'exécution personnalisés avec Oracle Linux Automation Manager

Introduction

A l'aide d'un environnement d'exécution personnalisé, Oracle Linux Automation Manager peut tirer parti des livres de jeux contenant des collections et d'autres ressources non disponibles avec l'image olam-ee par défaut. Vous le créez à l'aide de l'utilitaire Builder, le stockez sur Private Automation Hub, puis vous l'extrayez dans Oracle Linux Automation Manager.

Comment tout cela fonctionne-t-il ensemble ?

Ce tutoriel explique comment télécharger une image prédéfinie vers Private Automation Hub, puis l'extraire dans Oracle Linux Automation Manager pour exécuter des livres de jeux. Pour plus de détails sur la création d'environnements d'exécution personnalisés, reportez-vous à notre tutoriel sur l'utilitaire Builder et à ce tutoriel sur Private Automation Hub.

Objectifs

Dans ce tutoriel, vous allez apprendre à :

Prérequis

Déployer Oracle Linux Automation Manager

Remarque : en cas d'exécution dans votre propre location, lisez le projet linux-virt-labs GitHub README.md et respectez les prérequis avant de déployer l'environnement d'atelier.

  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 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"
      3:
        instance_name: "olam-node"
        type: "control"
    passwordless_ssh: true
    use_devops_vnc: true
    use_olam_builder: true
    use_olam_pah: true
    olam_type: single
    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.

Transmission d'un environnement d'exécution personnalisé à Private Automation Hub

Une méthode pour propager un ee personnalisé vers Private Automation Hub consiste à utiliser podman à partir de la ligne de commande, comme indiqué dans le tutoriel Private Automation Hub. Il est également possible d'effectuer cette tâche à l'aide d'un livre de jeux et de la collection containers.podman.

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

    ssh oracle@<ip_address_of_instance>
    
  2. Installez Oracle Linux Automation Engine.

    sudo dnf install ansible-core -y
    
  3. Installez les collections requises.

    ansible-galaxy collection install containers.podman
    
  4. Créez le livre de jeux pour baliser et propager l'image ee personnalisée.

       
    tee push-image.yml > /dev/null <<EOF
    ---
    - hosts: localhost
      collections:
        - containers.podman
    
      tasks:
    
      - name: get domain_name
        command: hostname -d
        register: domain_name
    
      - name: output domain_name var
        debug:
          msg: "{{domain_name.stdout}}"
    
      - name: push image to pah
        containers.podman.podman_image:
          name: my_custom_ee
          push: true
          push_args:
            dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest
          username: admin
          password: password
          validate_certs: false
       
    EOF
    
  5. Exécutez le playbook.

    ansible-playbook push-image.yml
    

    Le livre de jeux fonctionne sur localhost et, par conséquent, n'a pas besoin d'un fichier d'inventaire défini.

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. 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>
    
  2. Passez au bureau Luna.

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

    menu vnc

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

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

    vnc-pwd

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

    gui-welcome

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

Vérification de l'existence d'une image dans 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 à Private Automation Hub WebUI.

    Utilisez le nom utilisateur admin et le mot de passe password. L'environnement d'atelier gratuit définit cette valeur de mot de passe pendant le déploiement d'atelier.

    Connexion pah

  3. WebUI s'affiche après une connexion réussie.

    pah-webui

  4. Cliquez sur le menu de navigation dans l'angle supérieur gauche de Private Automation Hub WebUI.

  5. Accédez à Environnements d'exécution et à Environnements d'exécution.

  6. Notez que le nouveau fichier my_first_olam_ee_image s'affiche dans le panneau principal.

    pah-ee-2

Créer un Playbook

Les administrateurs d'Oracle Linux Automation Manager peuvent créer des livres de jeux en local sur le système de fichiers, ce qu'un projet utilisant le contrôle manuel des sources peut exploiter. Nous utiliserons devops-node pour écrire un guide stratégique qui transmet notre guide stratégique de projet à Oracle Linux Automation Manager à l'aide d'Oracle Linux Automation Engine. Cette configuration fonctionne uniquement sur une installation à hôte unique d'Oracle Linux Automation Manager, car les livres de jeux n'existent que sur cette instance.

  1. Passez à un terminal ou ouvrez-le et connectez-vous via SSH à l'instance devops-node.

  2. Créez un répertoire de projet et remplacez-le par le répertoire de travail.

    mkdir ~/project1
    cd ~/project1
    
  3. Créer un modèle.

    Ce modèle est le fichier de livre de jeux que nous allons écrire dans le système de fichiers sur le serveur Oracle Linux Automation Manager pour extraire la liste des images de conteneur sur un hôte.

    mkdir templates
    tee templates/list-images.yml.j2 > /dev/null <<EOF
    ---
    - hosts: all
      collections:
        - containers.podman
      become: yes
    
      tasks:
    
      - name: gather info on images
        containers.podman.podman_image_info:
        register: podman_list
        become_user: oracle
    
      - name: list images
        debug:
          msg: "{{ podman_list.images | selectattr('RepoTags') '}}"
    EOF
    
  4. Créez un guide stratégique pour transmettre ce projet à Oracle Linux Automation Manager.

       
    tee push-project.yml > /dev/null <<EOF
    ---
    - hosts: olam-node
      become: yes
    
      tasks:
    
      - name: create project directory
        ansible.builtin.file:
          path: /var/lib/awx/projects/podman
          state: directory
        become_user: awx
    
      - name: create playbook
        ansible.builtin.template:
          src: templates/list-images.yml.j2
          dest: /var/lib/awx/projects/podman/list-images.yml
        become_user: awx      
       
    EOF
    
  5. Créez un fichier d'inventaire.

    tee hosts > /dev/null <<EOF
    [olam]
    olam-node
    EOF
    
  6. Copiez le livre de jeux sur le serveur Oracle Linux Automation Manager.

    ansible-playbook -i hosts push-project.yml
    

Ajout d'un environnement d'exécution personnalisé à Oracle Linux Automation Manager

Connectez-vous à WebUI.

  1. Ouvrez un nouveau terminal à partir du bureau Luna.

  2. Configurez un tunnel SSH vers Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
    

    Dans l'environnement d'atelier gratuit, utilisez l'adresse IP de l'instance olam-node.

  3. Ouvrez un navigateur Web et saisissez l'URL.

    https://localhost:8444
    

    Remarque : approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Pour Chrome, cliquez sur le bouton Avancé, puis sur le lien Passer à localhost (non sécurisé).

  4. Connectez-vous à Oracle Linux Automation Manager WebUI.

    Utilisez le nom utilisateur admin et le mot de passe admin. L'environnement d'atelier gratuit définit cette valeur de mot de passe pendant le déploiement d'atelier.

    olam2-connexion

  5. WebUI s'affiche après une connexion réussie.

    olam2-webui

Ajouter des informations d'identification Container Registry

  1. Cliquez sur Informations d'identification sous Ressources dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter dans le panneau principal.

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

    Pour les champs avec une recherche ou une liste de valeurs, nous pouvons commencer à saisir la valeur demandée, puis la sélectionner.

    • Nom : My Private Automation Hub
    • Organisation : Default
    • Type d'informations d'identification : Container Registry
    • URL d'authentification : nom de domaine qualifié complet pour Private Automation Hub
    • Nom utilisateur : admin
    • Mot de passe ou jeton : password
    • Options : désélectionnez Vérifier SSL

    Si vous ne connaissez pas le nom de domaine qualifié complet pour Private Automation Hub, utilisez un terminal pour vous connecter à l'instance ol-pah, puis exécutez hostname -f.

    Oracle Linux Automation Manager utilise les informations d'identification Container Registry pour accéder aux images de conteneur dans Private Automation Hub. L'environnement d'atelier gratuit nécessite de décocher le paramètre Verify SSL en raison de son utilisation de certificats autosignés.

  4. Vérifiez les entrées et cliquez sur le bouton Enregistrer.

    olam2-cred-registry

Ajouter un environnement d'exécution

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

  2. Cliquez sur le bouton Ajouter dans le panneau principal.

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

    Pour les champs avec une recherche ou une liste de valeurs, nous pouvons commencer à saisir la valeur demandée, puis la sélectionner.

    • Nom : My Custom EE
    • Image : <fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
    • Informations d'identification de registre : My Private Automation Hub
  4. Vérifiez les entrées et cliquez sur le bouton Enregistrer.

    olam2-custom-ee

Tester l'environnement d'exécution

Lors du test de l'environnement d'exécution personnalisé, un modèle de tâche est requis, qui inclut un inventaire, des hôtes, des informations d'identification de machine et un projet.

Ajouter un inventaire

  1. Cliquez sur Stocks sous Ressources dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter dans le panneau principal et sélectionnez Ajouter un inventaire dans la liste de valeurs.

  3. Entrez la valeur suivante dans le champ spécifique.

    • Nom : Oracle Linux Hosts
  4. Vérifiez l'entrée et cliquez sur le bouton Enregistrer.

    olam2-inv-detail

Ajoutez un hôte

  1. Cliquez sur l'onglet Hôtes dans le panneau Détails de l'inventaire des hôtes Oracle Linux.

  2. Cliquez sur le bouton Ajouter.

  3. Entrez le nom d'hôte devops-node dans le champ Name

  4. Vérifiez l'entrée et cliquez sur le bouton Enregistrer.

Ajout d'informations d'identification de machine

  1. Cliquez sur Informations d'identification sous Ressources dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter dans le panneau principal.

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

    Pour les champs avec une recherche ou une liste de valeurs, nous pouvons commencer à saisir la valeur demandée, puis la sélectionner.

    • Nom : Oracle Linux SSH Access
    • Organisation : Default
    • Type d'informations d'identification : ordinateur
    • Nom utilisateur : oracle
    • Clé privée SSH : sélectionnez la clé id_rsa dans le répertoire ~/.SSH

    Pour obtenir la clé privée SSH, vous pouvez sélectionner l'option Parcourir pour ce champ. Dans la boîte de dialogue Téléchargement de fichier, sélectionnez Accueil et cliquez avec le bouton droit de la souris sur la fenêtre principale de cette boîte de dialogue. Sélectionnez Afficher les fichiers masqués. Sélectionnez le dossier .ssh et le fichier id_rsa. Lorsque vous cliquez sur le bouton Ouvrir, le contenu du fichier de clés privées est copié dans la boîte de dialogue Clé privée SSH.

  4. Vérifiez les entrées, faites défiler la page vers le bas, puis cliquez sur le bouton Enregistrer.

    olam2-machine-crédité

Créer un projet

  1. Cliquez sur Projets sous Ressources dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter dans le panneau principal.

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

    Pour les champs avec une recherche ou une liste de valeurs, nous pouvons commencer à saisir la valeur demandée, puis la sélectionner.

    • Nom : Container Management
    • Environnement d'exécution : Mon EE personnalisé
    • Type d'informations d'identification de contrôle source : Manuel
    • Répertoire Playbook : podman
  4. Vérifiez les entrées et cliquez sur le bouton Enregistrer.

    olam2-proj-détail

Ajout d'un modèle de tâche

  1. Cliquez sur Modèles sous Ressources dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter dans le panneau principal et sélectionnez Ajouter un modèle de tâche dans la liste de valeurs.

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

    Pour les champs avec une recherche ou une liste de valeurs, nous pouvons commencer à saisir la valeur demandée, puis la sélectionner.

    • Nom : List Images
    • Type de job : Run.
    • Inventaire : hôtes Oracle Linux
    • Projet : Gestion des conteneurs
    • Environnement d'exécution : Mon EE personnalisé
    • Playbook : list-images.yml
    • Informations d'identification : Accès SSH Oracle Linux
  4. Vérifiez les entrées, faites défiler la page vers le bas, puis cliquez sur le bouton Enregistrer.

    olam2-temp-détail

Exécuter le modèle

  1. Cliquez sur Modèles sous Ressources dans le menu de navigation.

  2. Cliquez sur l'icône Lancer le modèle dans la colonne Actions en regard du modèle de tâche Liste d'images.

Le travail démarre et le panneau passe au récapitulatif de sortie du travail. Au bout de quelques minutes, le travail échoue.

olam2-travail-échec

Cet échec se produit car le nouvel ee personnalisé ne contient pas la collection containers.podman, de sorte que l'exécution du livre de jeux échoue.

Corriger l'environnement d'exécution personnalisé

Pour corriger l'ee personnalisé, nous devons reconstruire l'image de conteneur à l'aide de l'utilitaire Builder, puis propager la nouvelle image vers Private Automation Hub en vue de son retrait par Oracle Linux Automation Manager.

  1. Passez à un terminal ou ouvrez-le et connectez-vous via SSH à l'instance devops-node.

  2. Accédez au répertoire de projet ee personnalisé.

    cd ~/my_custom_ee_project
    
  3. Ajoutez la collection manquante au fichier de configuration requise Ansible Galaxy.

    tee -a requirements.yml > /dev/null <<EOF
    - name: containers.podman
    EOF
    
  4. Recréez l'image.

    ansible-builder build --tag my_custom_ee -v 3
    
  5. Poussez la nouvelle image vers Private Automation Hub.

    cd ~
    ansible-playbook push-image.yml
    
  6. Vérifiez qu'une propagation d'image a réussi.

    Connectez-vous à Private Automation Hub WebUI et vérifiez les modifications apportées à l'environnement d'exécution, en particulier la colonne Dernière modification de my_first_olam_ee_image.

    pah-ee-modifier

Tester le nouvel environnement d'exécution personnalisé

  1. Basculez dans le navigateur vers Oracle Linux Automation Manager WebUI.

    Actualisez la fenêtre du navigateur et reconnectez-vous si nécessaire.

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

  3. Cliquez sur l'icône Modifier l'environnement d'exécution sous la colonne Actions en regard du lien d'image Mon EE personnalisé.

  4. Remplacez la valeur Extraire par Toujours extraire le conteneur avant de l'exécuter.

    Ce champ active l'option --pull pour podman. La modification du paramètre forcera Oracle Linux Automation Manager à extraire la dernière image lorsque les sommes de contrôle de sa couche ne correspondent pas.

  5. Vérifiez les modifications et cliquez sur le bouton Save (Enregistrer).

  6. Cliquez sur Travaux sous Vues dans le menu de navigation.

  7. Cliquez sur l'icône Relancer sous la colonne Actions en regard de ... Lien List Images.

    Sélectionnez Tout dans la liste déroulante des valeurs.

    Le travail démarre et le panneau passe au récapitulatif de sortie du travail. Au bout de quelques minutes, il se termine avec succès.

    olam2-job-success

Etapes suivantes

La sortie dans WebUI confirme que vous disposez d'un environnement d'exécution personnalisé de travail dans Oracle Linux Automation Manager. Développez vos compétences et consultez notre autre formation Oracle Linux Automation Manager sur Oracle Linux Training Station.

Ressources de formation supplémentaires

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

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