Remarques :
- Ce tutoriel est disponible dans un environnement d'atelier gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
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 à :
- Pousser un ee personnalisé vers Private Automation Hub à l'aide d'un guide stratégique
- Ajouter un ee personnalisé à Oracle Linux Automation Manager
- Utiliser l'ee personnalisé pour exécuter un travail
Prérequis
- Trois systèmes exécutant Oracle Linux
- Environnement de développement utilisant l'utilitaire Builder
- Un pour Private Automation Hub
- Autre pour exécuter Oracle Linux Automation Manager
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.
-
Ouvrez un terminal sur le bureau Luna.
-
Clonez le projet
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Accédez au répertoire de travail.
cd linux-virt-labs/olam
-
Installez les collections requises.
ansible-galaxy collection install -r requirements.yml
-
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
-
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
-
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.
-
Ouvrez un terminal et connectez-vous via SSH à l'instance devops-node.
ssh oracle@<ip_address_of_instance>
-
Installez Oracle Linux Automation Engine.
sudo dnf install ansible-core -y
-
Installez les collections requises.
ansible-galaxy collection install containers.podman
-
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
-
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).
-
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>
-
Passez au bureau Luna.
-
Ouvrez le visualiseur TigerVNC en cliquant sur le menu Applications, sur Internet, puis sur Visualiseur TigerVNC.
-
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. -
Entrez le mot de passe de l'utilisateur
oracle
oracle et appuyez sur le bouton OK. -
Le bureau de l'interface graphique du serveur s'affiche avec une première configuration de connexion.
-
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.
Vérification de l'existence d'une image dans Private Automation Hub
-
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 lienProceed to localhost (unsafe)
. -
Connectez-vous à Private Automation Hub WebUI.
Utilisez le nom utilisateur
admin
et le mot de passepassword
. L'environnement d'atelier gratuit définit cette valeur de mot de passe pendant le déploiement d'atelier. -
WebUI s'affiche après une connexion réussie.
-
Cliquez sur le menu de navigation dans l'angle supérieur gauche de Private Automation Hub WebUI.
-
Accédez à Environnements d'exécution et à Environnements d'exécution.
-
Notez que le nouveau fichier my_first_olam_ee_image s'affiche dans le panneau principal.
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.
-
Passez à un terminal ou ouvrez-le et connectez-vous via SSH à l'instance devops-node.
-
Créez un répertoire de projet et remplacez-le par le répertoire de travail.
mkdir ~/project1 cd ~/project1
-
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
-
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
-
Créez un fichier d'inventaire.
tee hosts > /dev/null <<EOF [olam] olam-node EOF
-
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.
-
Ouvrez un nouveau terminal à partir du bureau Luna.
-
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.
-
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é).
-
Connectez-vous à Oracle Linux Automation Manager WebUI.
Utilisez le nom utilisateur
admin
et le mot de passeadmin
. L'environnement d'atelier gratuit définit cette valeur de mot de passe pendant le déploiement d'atelier. -
WebUI s'affiche après une connexion réussie.
Ajouter des informations d'identification Container Registry
-
Cliquez sur Informations d'identification sous Ressources dans le menu de navigation.
-
Cliquez sur le bouton Ajouter dans le panneau principal.
-
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.
- Nom :
-
Vérifiez les entrées et cliquez sur le bouton Enregistrer.
Ajouter un environnement d'exécution
-
Cliquez sur Environnements d'exécution sous Administration dans le menu de navigation.
-
Cliquez sur le bouton Ajouter dans le panneau principal.
-
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
- Nom :
-
Vérifiez les entrées et cliquez sur le bouton Enregistrer.
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
-
Cliquez sur Stocks sous Ressources dans le menu de navigation.
-
Cliquez sur le bouton Ajouter dans le panneau principal et sélectionnez Ajouter un inventaire dans la liste de valeurs.
-
Entrez la valeur suivante dans le champ spécifique.
- Nom :
Oracle Linux Hosts
- Nom :
-
Vérifiez l'entrée et cliquez sur le bouton Enregistrer.
Ajoutez un hôte
-
Cliquez sur l'onglet Hôtes dans le panneau Détails de l'inventaire des hôtes Oracle Linux.
-
Cliquez sur le bouton Ajouter.
-
Entrez le nom d'hôte devops-node dans le champ Name
-
Vérifiez l'entrée et cliquez sur le bouton Enregistrer.
Ajout d'informations d'identification de machine
-
Cliquez sur Informations d'identification sous Ressources dans le menu de navigation.
-
Cliquez sur le bouton Ajouter dans le panneau principal.
-
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.
- Nom :
-
Vérifiez les entrées, faites défiler la page vers le bas, puis cliquez sur le bouton Enregistrer.
Créer un projet
-
Cliquez sur Projets sous Ressources dans le menu de navigation.
-
Cliquez sur le bouton Ajouter dans le panneau principal.
-
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
- Nom :
-
Vérifiez les entrées et cliquez sur le bouton Enregistrer.
Ajout d'un modèle de tâche
-
Cliquez sur Modèles sous Ressources dans le menu de navigation.
-
Cliquez sur le bouton Ajouter dans le panneau principal et sélectionnez Ajouter un modèle de tâche dans la liste de valeurs.
-
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
- Nom :
-
Vérifiez les entrées, faites défiler la page vers le bas, puis cliquez sur le bouton Enregistrer.
Exécuter le modèle
-
Cliquez sur Modèles sous Ressources dans le menu de navigation.
-
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.
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.
-
Passez à un terminal ou ouvrez-le et connectez-vous via SSH à l'instance devops-node.
-
Accédez au répertoire de projet ee personnalisé.
cd ~/my_custom_ee_project
-
Ajoutez la collection manquante au fichier de configuration requise Ansible Galaxy.
tee -a requirements.yml > /dev/null <<EOF - name: containers.podman EOF
-
Recréez l'image.
ansible-builder build --tag my_custom_ee -v 3
-
Poussez la nouvelle image vers Private Automation Hub.
cd ~ ansible-playbook push-image.yml
-
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.
Tester le nouvel environnement d'exécution personnalisé
-
Basculez dans le navigateur vers Oracle Linux Automation Manager WebUI.
Actualisez la fenêtre du navigateur et reconnectez-vous si nécessaire.
-
Cliquez sur Environnements d'exécution sous Administration dans le menu de navigation.
-
Cliquez sur l'icône Modifier l'environnement d'exécution sous la colonne Actions en regard du lien d'image Mon EE personnalisé.
-
Remplacez la valeur Extraire par Toujours extraire le conteneur avant de l'exécuter.
Ce champ active l'option
--pull
pourpodman
. 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. -
Vérifiez les modifications et cliquez sur le bouton Save (Enregistrer).
-
Cliquez sur Travaux sous Vues dans le menu de navigation.
-
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.
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.
Liens connexes
- Documentation d'Oracle Linux Automation Manager
- Formation Oracle Linux Automation Manager
- Centre de formation Oracle Linux
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.
Use Custom Execution Environments with Oracle Linux Automation Manager
G32008-03
Copyright ©2023, Oracle and/or its affiliates.