Note :

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

Présentation

À l'aide d'un environnement d'exécution personnalisé, Oracle Linux Automation Manager peut tirer parti des livres de jeu contenant des collections et d'autres ressources non disponibles avec l'image olam-ee par défaut. Vous pouvez le créer à l'aide de l'utilitaire Builder, le stocker dans Private Automation Hub, puis l'extraire dans Oracle Linux Automation Manager.

Comment tout cela fonctionne-t-il ensemble?

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

Objectifs

Dans ce tutoriel, vous apprendrez à :

Préalables

Déployer Oracle Linux Automation Manager

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

Pousser un environnement d'exécution personnalisé vers Private Automation Hub

Une méthode pour pousser une ee personnalisée vers Private Automation Hub utilise 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 jeu et de la collection containers.podman.

  1. Ouvrez un terminal et connectez-vous au moyen de 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 jeu pour marquer et pousser 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 jeu s'exécute sur localhost et, par conséquent, n'a pas besoin d'un fichier d'inventaire défini.

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

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

    vnc-menu

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

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

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

Vérifier 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
    

    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 à Private Automation Hub WebUI.

    Utilisez le nom d'utilisateur admin et le mot de passe password. L'environnement de laboratoire gratuit définit cette valeur de mot de passe lors du déploiement de l'exercice.

    connexion Pah

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

    pah-webui

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

  5. Naviguez jusqu'aux environnements d'exécution et aux environnements d'exécution.

  6. Notez que la nouvelle adresse my_first_olam_ee_image s'affiche dans le panneau principal.

    pah-ee-2

Créer un livre de jeu

Les administrateurs d'Oracle Linux Automation Manager peuvent créer des livres de jeu localement sur le système de fichiers, qu'un projet utilisant le contrôle manuel des sources peut exploiter. Nous utiliserons devops-node pour écrire un livre de jeu qui pousse notre livre de jeu Project vers Oracle Linux Automation Manager à l'aide d'Oracle Linux Automation Engine. Cette configuration ne fonctionne que sur une installation à hôte unique d'Oracle Linux Automation Manager, car les livres de jeu n'existent que sur cette instance.

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

  2. Créez un répertoire de projet et accédez-y.

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

    Ce modèle est le fichier de livre de jeu 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 livre de jeu pour pousser ce projet vers 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. Sert à créer un fichier d'inventaire.

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

    ansible-playbook -i hosts push-project.yml
    

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

Connectez-vous à WebUI

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

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

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

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

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

    https://localhost:8444
    

    Note : 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 d'utilisateur admin et le mot de passe admin. L'environnement de laboratoire gratuit définit cette valeur de mot de passe lors du déploiement de l'exercice.

    olam2 - Connexion

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

    olam2-webui

Ajouter des données d'identification de registre de conteneurs

  1. Cliquez sur Données d'identification sous Ressources dans le menu de navigation.

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

  3. Entrez 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 à taper la valeur demandée, puis la sélectionner.

    • Nom : My Private Automation Hub
    • Organisation : Default
    • Type de données d'identification : Registre de conteneurs
    • URL d'authentification : Nom de domaine complet pour Private Automation Hub
    • Nom d'utilisateur : admin
    • Mot de passe ou jeton : password
    • Options : décochez Vérifier SSL

    Si vous ne connaissez pas le nom de domaine 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 données d'identification du registre de conteneurs pour accéder aux images de conteneur dans Private Automation Hub. L'environnement de laboratoire gratuit nécessite la désélection du paramètre Vérifier SSL en raison de l'utilisation de certificats auto-signés.

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

    olam2registre des crédits

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. Entrez 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 à taper 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
    • Données d'identification de registre : My Private Automation Hub
  4. Vérifiez les entrées et cliquez sur le bouton Enregistrer.

    olam2-destinataire

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 données d'identification de machine et un projet.

Ajouter un inventaire

  1. Cliquez sur Inventaires 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

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

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

Ajouter des données d'identification de machine

  1. Cliquez sur Données d'identification sous Ressources dans le menu de navigation.

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

  3. Entrez 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 à taper la valeur demandée, puis la sélectionner.

    • Nom : Oracle Linux SSH Access
    • Organisation : Default
    • Type de données d'identification : Machine
    • Nom d'utilisateur : oracle
    • Clé privée SSH : Sélectionnez la clé id_rsa dans le répertoire ~/.SSH

    Une façon d'obtenir la clé privée SSH est de sélectionner l'option Parcourir pour ce champ. Dans la boîte de dialogue 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é privée est copié dans la boîte de dialogue Clé privée SSH.

  4. Vérifiez les entrées, faites défiler l'affichage jusqu'au bas de la page, puis cliquez sur le bouton Enregistrer.

    olam2-cred-machine

Create a New Project (Créer un nouveau projet)

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

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

  3. Entrez 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 à taper la valeur demandée, puis la sélectionner.

    • Nom : Container Management
    • Environnement d'exécution : Mon employé personnalisé
    • Type de données 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

Ajouter 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. Entrez 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 à taper la valeur demandée, puis la sélectionner.

    • Nom : List Images
    • Type de tâche : Exécuter
    • Stock : Hôtes Oracle Linux
    • Projet : Gestion des conteneurs
    • Environnement d'exécution : Mon employé personnalisé
    • Livre : list-images.yml
    • Données d'identification : Accès SSH à Oracle Linux
  4. Vérifiez les entrées, faites défiler l'affichage jusqu'au bas de la page, puis cliquez sur le bouton Enregistrer.

    olam2-temp-detail

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 à côté du modèle de tâche Lister les images.

Le travail démarre et le panneau passe au sommaire des sorties du travail. Au bout de quelques minutes, le travail échoue.

olam2-défaillance d'emploi

Cet échec se produit car la nouvelle version personnalisée ne contient pas la collection containers.podman, de sorte que le livre de jeu ne peut pas s'exécuter.

Corriger l'environnement d'exécution personnalisé

Pour corriger l'e personnalisé, nous devons recréer l'image de conteneur à l'aide de l'utilitaire Builder, puis pousser la nouvelle image vers Private Automation Hub pour la collecte par Oracle Linux Automation Manager.

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

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

    cd ~/my_custom_ee_project
    
  3. Ajoutez la collection manquante au fichier d'exigences Ansible Galaxy.

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

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

    cd ~
    ansible-playbook push-image.yml
    
  6. Vérifiez que la transmission d'image a réussi.

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

    pah-ee-modifier

Tester le nouvel environnement d'exécution personnalisé

  1. Passez dans le navigateur à 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 à côté du lien d'image Mon employé 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 des paramètres force Oracle Linux Automation Manager à extraire la dernière image lorsque les totaux de contrôle de la couche ne correspondent pas.

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

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

  7. Cliquez sur l'icône Rélancer sous la colonne Actions à côté du lien …Lister les images.

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

    Le travail démarre et le panneau passe au sommaire des sorties du travail. Après quelques minutes, il se termine avec succès.

    olam2-Réussite d'emploi

Étapes suivantes

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

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.