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.
Utilisation de la collection OCI Ansible avec Oracle Linux Automation Manager
Introduction
La collection Ansible pour Oracle Cloud Infrastructure (OCI) offre un moyen facile de provisionner et de gérer des ressources dans Oracle Cloud à l'aide d'Oracle Linux Automation Engine ou d'Oracle Linux Automation Manager.
Objectifs
Dans ce tutoriel, vous allez apprendre à :
- Créer un livre de jeux qui utilise la collection OCI Ansible
- Configurer les informations d'identification pour Ansible Galaxy
- Ajouter les informations d'identification Oracle Cloud Infrastructure
- Création d'un modèle de tâche
- Exécutez le job
Prérequis
- Système sur lequel Oracle Linux Automation Manager est installé
- Accès à un référentiel git
- Un compte Oracle Cloud Infrastructure (OCI)
- Utilisateur du compte OCI autorisé à utiliser des ressources dans un compartiment
- Accéder aux informations d'identification et d'OCID de ce compte
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" 2: instance_name: "git-server" type: "server" use_git: 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.
Créer un Playbook
-
Ouvrez une nouvelle fenêtre de terminal.
-
Définissez une variable sur l'instance de serveur git distante.
export REMOTE=<ip_address_of_instance>
-
Créez un répertoire de projet.
mkdir ~/myproject
-
Créez un fichier de conditions.
Oracle Linux Automation Engine utilise le fichier d'exigences pour extraire les ensembles ou rôles requis dans le projet lors de l'exécution.
cat << EOF > ~/myproject/requirements.yml --- collections: - name: oracle.oci - name: community.general EOF
Remarque : pour les versions d'Oracle Linux Automation Engine < 2.13.9, vous pouvez configurer le fichier d'exigences pour extraire la collection directement à partir du référentiel GitHub des collections.
cat << EOF > ~/myproject/requirements.yml --- collections: - name: https://github.com/oracle/oci-ansible-collection.git type: git version: master - name: https://github.com/ansible-collections/community.general.git type: git version: main EOF
-
Créer un playbook.
Ce guide de lecture interroge l'espace de noms Object Storage pour la location Oracle Cloud Infrastructure. Nous configurerons les détails de la location ultérieurement dans l'interface utilisateur Web d'Oracle Linux Automation Manager.
cat << EOF > ~/myproject/get_namespace.yml --- - name: Get namespace name hosts: localhost tasks: - name: get namespace oracle.oci.oci_object_storage_namespace_facts: register: output - name: print namespace ansible.builtin.debug: msg: "" EOF
Ajouter le projet au contrôle des versions
-
Initialisez le répertoire de travail du projet dans un référentiel Git.
Avant d'initialiser le référentiel, vous devez effectuer certaines étapes de configuration initiale de Git.
-
Définissez le nom de branchement par défaut utilisé lors de l'initialisation d'un projet.
git config --global init.defaultBranch main
-
Définissez votre identité.
L'e-mail et le nom sont des exemples dans ce tutoriel. Utilisez votre adresse e-mail et votre nom lorsque vous travaillez sur vos projets, car git inclut immuablement ces informations dans chaque validation.
git config --global user.email johndoe@example.com git config --global user.name "John Doe"
-
Accédez au répertoire de travail du projet.
cd ~/myproject
-
Initialisez le répertoire en tant que référentiel Git local.
git init
La commande renvoie qu'elle a initialisé le référentiel Git vide.
-
-
Vérifiez l'état du répertoire de travail et de la zone intermédiaire du projet.
git status
L'état du référentiel local indique deux fichiers non suivis : get_namespace.yml et requirements.yml
-
Ajoutez et suivez les nouveaux fichiers dans la zone intermédiaire.
git add --all
L'option
--all
ajoute tous les fichiers non suivis et modifiés à la zone intermédiaire. -
Validez les modifications actuellement dans la zone intermédiaire.
git commit -m 'initial commit'
L'option
-m
permet d'ajouter un commentaire aux modifications validées. -
Créez et initialisez le référentiel Git distant.
Un référentiel distant est un référentiel partagé utilisé par tous les contributeurs de projet et stocké sur un service d'hébergement de code, tel que GitHub ou un serveur auto-hébergé.
ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
L'option
-b
garantit l'initialisation du référentiel distant à l'aide d'une branche appelée main. -
Acceptez l'empreinte de la clé ECDSA en saisissant
yes
. -
Ajoutez le nouvel enregistrement de connexion au référentiel distant.
L'ajout de la connexion distante au référentiel local vous permet de l'utiliser comme raccourci nommé dans les commandes Git.
git remote add origin git@$REMOTE:/git-server/repos/myproject.git
Le chemin situé après le signe deux-points correspond à l'emplacement du répertoire du référentiel sur le serveur Git distant.
-
Vérifiez le nouvel enregistrement de connexion ajouté.
git remote -v
La sortie affiche l'enregistrement de connexion origin pointant vers l'emplacement du référentiel Git distant pour les commandes
git fetch
etgit push
. -
Poussez les modifications apportées au référentiel local vers le référentiel distant.
git push origin main
L'utilisation de la source myproject dans un projet Oracle Linux Automation Manager est désormais possible.
Créer des informations d'identification Ansible Galaxy
Ces informations d'identification permettent à Oracle Linux Automation Manager d'extraire la collection OCI Ansible de l'Ansible Galaxy Hub public.
-
Ouvrez une nouvelle fenêtre de terminal et configurez un tunnel SSH vers l'instance olam-node.
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
-
Ouvrez un navigateur Web et saisissez l'URL.
https://localhost:8444
Remarque : approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Pour le navigateur Chrome, cliquez sur le bouton Avancé, puis sur le lien Passer à localhost (non sécurisé).
-
Connectez-vous à l'interface utilisateur Web d'Oracle Linux Automation Manager. Utilisez le nom utilisateur
admin
et le mot de passeadmin
créés lors du déploiement automatisé. -
L'interface utilisateur Web s'affiche après une connexion réussie.
-
Cliquez sur Informations d'identification sous la section Ressources dans le menu de navigation.
-
Cliquez sur le bouton Ajouter.
-
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 dans la liste.
- Nom :
My Ansible Galaxy
- Organisation :
Default
- Type d'informations d'identification : Jeton d'API Ansible Galaxy/Automation Hub
Oracle Linux Automation Manager utilise les informations d'identification Ansible Galaxy pour faciliter le téléchargement des rôles et des collections à l'aide de la commande
ansible-galaxy
.- URL de Galaxy Server :
https://galaxy.ansible.com
- Nom :
-
Vérifiez les entrées et cliquez sur le bouton Enregistrer.
-
Cliquez sur Organisations dans la section Accès du menu de navigation.
L'affectation des informations d'identification Ansible Galaxy dans l'organisation permet de télécharger la collection Ansible d'infrastructure Oracle Linux à partir du projet git.
-
Cliquez sur l'organisation Par défaut, puis sur le bouton Modifier.
-
Sélectionnez les informations d'identification My Ansible Galaxy dans le champ Informations d'identification Galaxy et cliquez sur le bouton Sélectionner.
-
Vérifiez et cliquez sur le bouton Enregistrer.
Créer des informations d'identification OCI
Les informations d'identification OCI fournissent des informations Oracle Linux Automation Manager sur la location OCI spécifique.
-
Cliquez sur Informations d'identification dans le menu de navigation.
-
Cliquez sur le bouton Ajouter.
-
Saisissez ou sélectionnez les valeurs suivantes dans les champs spécifiques.
- Nom :
My OCI Credentials
- Organisation :
Default
- Type d'informations d'identification : Oracle Cloud Infrastructure
La page actualise et demande vos informations de configuration OCI.
- Nom :
-
Ouvrez une nouvelle fenêtre de terminal.
-
Affichez le contenu du fichier de configuration OCI.
cat ~/.oci/config
-
Utilisez les valeurs affichées dans le terminal et mettez-les en correspondance avec les champs spécifiques des informations d'identification OCI dans l'interface utilisateur Web d'Oracle Linux Automation Manager.
Utilisez l'icône
en regard de chaque champ pour afficher la valeur du collage.
-
Obtenez le contenu de la clé privée d'API de l'utilisateur OCI.
Dans l'environnement d'atelier gratuit, vous pouvez exécuter
cat ~/.oci/oci.key
pour obtenir ces informations, puis copier l'intégralité de la sortie, y compris les lignes BEGIN et END. -
Collez la clé dans le champ Clé utilisateur privée de l'interface utilisateur Web d'Oracle Linux Automation Manager.
-
Vérifiez et cliquez sur le bouton Enregistrer.
Si vous devez modifier ces valeurs ultérieurement, elles apparaîtront chiffrées dans l'interface utilisateur Web. Par conséquent, pour apporter des modifications, cliquez sur l'icône Remplacer en regard du champ spécifique et ajoutez la nouvelle valeur du champ. Répétez l'opération si nécessaire, puis cliquez sur le bouton Enregistrer lorsque vous avez terminé d'apporter des modifications.
Créer un inventaire
-
Cliquez sur Stocks dans le menu de navigation.
-
Cliquez sur le bouton Ajouter et sélectionnez Ajouter un inventaire dans la liste déroulante des valeurs.
-
Saisissez ou sélectionnez les valeurs suivantes dans les champs spécifiques.
- Nom :
My Local Inventory
- Groupes d'instances : controlplane
La collection Ansible Oracle Cloud Infrastructure utilise une connexion réseau localhost lorsque vous utilisez Oracle Linux Automation Engine pour interagir avec la location OCI.
- Nom :
-
Vérifiez et cliquez sur le bouton Enregistrer.
Ajouter des informations d'identification de contrôle des versions
-
Cliquez sur Informations d'identification dans le menu de navigation.
-
Cliquez sur le bouton Ajouter.
-
Saisissez ou sélectionnez les valeurs suivantes dans les champs spécifiques.
- Nom :
Git Server
- Type d'informations d'identification : Contrôle source
La page est actualisée, en demandant les Détails du type.
- Nom :
-
Entrez le nom d'utilisateur du serveur Git.
- Nom utilisateur :
git
- Nom utilisateur :
-
Copiez et collez le contenu de la clé privée de votre serveur Git dans le champ Clé privée SCM.
L'environnement d'exercice gratuit utilise le fichier
~/.ssh/id_rsa
par défaut. -
Vérifiez et cliquez sur le bouton Enregistrer.
Créez un projet
-
Cliquez sur Projets dans le menu de navigation.
-
Cliquez sur le bouton Ajouter.
-
Saisissez ou sélectionnez les valeurs suivantes dans les champs spécifiques.
- Nom :
My Project
- Environnement d'exécution : OLAM EE (2.3)
- Type d'informations d'identification de contrôle source : Git
La page est actualisée, en demandant les Détails du type.
- URL de contrôle source :
git@<ip_address_of_instance>:/git-server/repos/myproject.git
- Branchement de contrôle source :
main
- Informations d'identification de contrôle source : serveur Git
L'environnement d'atelier gratuit utilise l'adresse IP du serveur git dans le champ URL de contrôle source.
- Nom :
-
Vérifiez et cliquez sur le bouton Enregistrer.
-
Vérifiez le statut de synchronisation du projet.
Une fois que vous avez créé un projet, l'interface utilisateur Web affiche son statut dans le récapitulatif Détails au début de la synchronisation. Le statut passe de En cours d'exécution à Succès si la configuration est correcte et que le serveur Git est accessible.
Créer un modèle de tâche
-
Cliquez sur Modèles dans le menu de navigation.
-
Cliquez sur le bouton Ajouter et sélectionnez Ajouter un modèle de travail dans la liste déroulante des valeurs.
-
Saisissez ou sélectionnez les valeurs requises.
- Nom :
My Template
- Type de job : Run.
- Stock : Mon stock local
- Projet : Mon projet
- Environnement d'exécution : OLAM EE (2.3)
- Playbook : get_namespace.yml
- Nom :
-
Sélectionnez les informations d'identification.
Lorsque vous sélectionnez Informations d'identification, une boîte de dialogue contextuelle Sélectionner les informations d'identification apparaît. Choisissez Oracle Cloud Infrastructure dans la liste déroulante Catégorie sélectionnée pour afficher les informations d'identification de ce type.
-
Sélectionnez Mes informations d'identification OCI, puis cliquez sur le bouton Sélectionner.
-
Consultez les entrées du modèle de travail.
-
Faites défiler la page vers le bas et cliquez sur le bouton Enregistrer.
-
Lancez le modèle.
Lancez un travail à partir de la page de synthèse du modèle en cliquant sur le bouton Lancer.
En cas de réussite, le travail est lancé et affiche la sortie du modèle, y compris l'espace de noms de la location OCI. Vous pouvez cliquer sur le lien Recharger la sortie pour actualiser le panneau de sortie si nécessaire.
Etapes suivantes
La sortie indiquant l'espace de noms confirme que vous disposez d'une configuration et d'un projet de travail qui montrent comment utiliser les livres de jeux utilisant la collection Ansible d'Oracle Cloud Infrastructure. Expérimentez davantage la collection pour déployer des instances et d'autres ressources dans votre location.
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 OCI Ansible Collection with Oracle Linux Automation Manager
F76738-03
Copyright ©2023, Oracle and/or its affiliates.