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.
Gérer Oracle Linux Automation Manager à l'aide de la collection AWX
Introduction
La collection AWX Ansible permet aux administrateurs d'interagir avec Oracle Linux Automation Manager via des livres de jeux. Les modules comprennent la possibilité d'effectuer des tâches telles que l'administration des utilisateurs et des groupes, la création de projets et l'exécution de travaux.
Objectifs
Dans ce tutoriel, vous allez apprendre à :
- Déployer les instances DevOps et Oracle Linux Automation Manager
- Configurez le fichier de configuration sur l'instance DevOps.
- Ecrire un livre de jeux pour créer les éléments requis pour exécuter un travail
- Tester et vérifier le playbook
Prérequis
- Noeud de contrôle pour l'exécution des livres de jeux Oracle Linux Automation Engine
- Instance d'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: "olam-node" type: "control" 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.
Vérifier le déploiement d'Oracle Linux Automation Manager
-
Ouvrez un nouveau terminal.
-
Configurez un tunnel SSH vers l'instance Oracle Linux Automation Manager.
ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
-o ExitOnForwardFailure=yes
: attend que tous les transferts de port distant soient établis-f
: exécute le tunnel SSH en arrière-plan.-L
: crée le tunnel sur le port 8444 sur le système local et 443 sur le système distant.sleep 300
: maintient le tunnel distant ouvert pendant 5 minutes, en attente d'une connexion établie avant la fermeture automatique
-
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
Advanced
, puis sur le lienProceed to localhost (unsafe)
. -
Connectez-vous à Oracle Linux Automation Manager avec le nom utilisateur
admin
et le mot de passeadmin
créés lors du déploiement. -
Une fois connecté, l'interface utilisateur Web s'affiche.
Création du fichier de configuration du contrôleur
La collection AWX Ansible utilise un fichier de configuration et, dans certains cas, l'interface de ligne de commande AWX pour l'authentification auprès d'Oracle Linux Automation Manager. Les paramètres d'authentification peuvent être transmis sur la ligne de commande à l'aide de la CLI directement ou écrits dans un fichier de configuration.
Lors de la spécification des paramètres d'authentification, la collection Ansible AWX attend une combinaison des éléments suivants :
- hôte, nom utilisateur, mot de passe
- hôte, jeton OAuth2
Plus de détails sont disponibles dans le projet upstream.
-
Revenez au terminal sur lequel vous avez créé le tunnel SSH.
-
Générez le fichier de configuration.
cat << EOF | tee ~/.tower_cli.cfg > /dev/null [general] host: https://localhost:8444 verify_ssl: false username: admin password: admin use_token = false EOF
host:
: définit l'URL permettant d'accéder à l'interface utilisateur Web d'Oracle Linux Automation Managerverify_ssl:
: désactive la vérification SSL stricte car l'environnement du tutoriel utilise un certificat auto-signéuse_token:
: bien qu'il soit préférable d'utiliser un jeton OAuth2, la valeur False est désactivée à l'aide d'un jeton pour l'authentification
Créer une organisation
Comme nous le présentons dans notre tutoriel Introduction, une organisation se trouve en haut de la pyramide des rôles et constitue un ensemble logique d'utilisateurs, d'équipes, de projets et d'inventaires.
Plutôt que de créer cela via l'interface utilisateur Web, nous pouvons écrire un livre de jeux.
-
Écrivez le playbook.
cat << EOF | tee configure-olam.yaml > /dev/null --- - name: Playbook to set up training demo data using the AWX collection hosts: localhost gather_facts: false collections: - awx.awx tasks: - name: Create an organization awx.awx.organization: name: "Example" description: "Created using a playbook" state: present EOF
-
Exécutez le playbook.
ansible-playbook configure-olam.yaml
-
Vérifiez les modifications dans l'interface utilisateur Web.
A l'aide du navigateur, connectez-vous à l'interface Web.
Remarque : si vous rencontrez un échec de connexion, le tunnel SSH a peut-être expiré. Dans ce cas, vous devrez réexécuter la commande SSH pour rétablir la connexion.
Dans le menu de navigation, cliquez sur Organisations. Notez l'entrée Example, créée par le livre de jeux.
Exécution d'un travail
Une fois l'organisation créée, automatisons les étapes restantes du tutoriel Mise en route avec quelques modifications. L'un des avantages d'Oracle Linux Automation Engine est son auto-documentation.
-
Revenez au terminal où vous avez créé le playbook.
-
Ajoutez la configuration supplémentaire au livre de jeux existant.
cat << EOF | tee -a configure-olam.yaml > /dev/null - name: Add a user awx.awx.user: username: jdoe password: oracle email: jdoe@example.com first_name: John last_name: Doe organization: Example state: present - name: Add an inventory awx.awx.inventory: name: "Demo Inventory" description: "Demo OCI Instances" organization: Example state: present - name: Add a host awx.awx.host: name: localhost description: "Use to run tasks locally" inventory: "Demo Inventory" state: present variables: ansible_connection: local - name: Add a credential awx.awx.credential: name: "Linux Instance" credential_type: Machine organization: Example inputs: username: opc ssh_key_data: "" - name: Add a project awx.awx.project: name: "Hello World" description: "Sample Hello World Project" organization: Example default_environment: "OLAM EE (2.3)" scm_type: "git" scm_update_on_launch: false scm_url: https://github.com/oracle-devrel/linux-virt-labs.git state: present - name: Add a template awx.awx.job_template: name: "Say Hello" job_type: "run" organization: Example inventory: "Demo Inventory" project: "Hello World" playbook: "labs/olam-hello-world.yaml" state: present - name: Launch a job awx.awx.job_launch: job_template: "Say Hello" wait: true register: job - name: Print results from job ansible.builtin.debug: var: job EOF
-
Réexécutez le playbook.
ansible-playbook configure-olam.yaml
Le livre de jeu se termine par la dernière lecture affichant le statut du travail comme
successful
, avec un avertissement que vous pouvez ignorer. -
Vérifiez le travail dans l'interface utilisateur Web.
Dans le navigateur, accédez à Travaux et cliquez sur le travail Dites bonjour. La sortie affiche les résultats de l'exécution du livre de jeux au cours du travail. Notez les messages de bienvenue de la tâche de débogage.
Etapes suivantes
La sortie de l'interface utilisateur Web confirme que vous disposez d'un Oracle Linux Automation Manager fonctionnel et que vous avez écrit un livre de jeux pour gérer certaines des tâches les plus courantes.
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.
Manage Oracle Linux Automation Manager Using the AWX Collection
G32874-02
Copyright ©2024, Oracle and/or its affiliates.