Remarques :

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 à :

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: "olam-node"
        type: "control"
      2:
        instance_name: "git-server"
        type: "server"
    use_git: 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.

Créer un Playbook

  1. Ouvrez une nouvelle fenêtre de terminal.

  2. Définissez une variable sur l'instance de serveur git distante.

    export REMOTE=<ip_address_of_instance>
    
  3. Créez un répertoire de projet.

    mkdir ~/myproject
    
  4. 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
    
  5. 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

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

    1. Définissez le nom de branchement par défaut utilisé lors de l'initialisation d'un projet.

      git config --global init.defaultBranch main
      
    2. 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"
      
    3. Accédez au répertoire de travail du projet.

      cd ~/myproject
      
    4. 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.

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

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

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

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

  6. Acceptez l'empreinte de la clé ECDSA en saisissant yes.

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

  8. 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 et git push.

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

  1. 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>
    
  2. 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é).

  3. Connectez-vous à l'interface utilisateur Web d'Oracle Linux Automation Manager. Utilisez le nom utilisateur admin et le mot de passe admin créés lors du déploiement automatisé.

    Connexion à olam2

  4. L'interface utilisateur Web s'affiche après une connexion réussie.

    olam2-webui

  5. Cliquez sur Informations d'identification sous la section Ressources dans le menu de navigation.

  6. Cliquez sur le bouton Ajouter.

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

    olam2-ansible-galaxie-creds

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

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

  10. Cliquez sur l'organisation Par défaut, puis sur le bouton Modifier.

  11. Sélectionnez les informations d'identification My Ansible Galaxy dans le champ Informations d'identification Galaxy et cliquez sur le bouton Sélectionner.

  12. Vérifiez et cliquez sur le bouton Enregistrer.

    olam2-ansible-galaxy-org

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.

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

  2. Cliquez sur le bouton Ajouter.

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

    olam2-oci-cred1

    La page actualise et demande vos informations de configuration OCI.

  4. Ouvrez une nouvelle fenêtre de terminal.

  5. Affichez le contenu du fichier de configuration OCI.

    cat ~/.oci/config
    
  6. 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 olam2-webui-show en regard de chaque champ pour afficher la valeur du collage.

    olam2-oci-cred2

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

  8. Collez la clé dans le champ Clé utilisateur privée de l'interface utilisateur Web d'Oracle Linux Automation Manager.

    olam2-oci-cred3

  9. Vérifiez et cliquez sur le bouton Enregistrer.

    olam2-oci-cred4

    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

  1. Cliquez sur Stocks dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter et sélectionnez Ajouter un inventaire dans la liste déroulante des valeurs.

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

  4. Vérifiez et cliquez sur le bouton Enregistrer.

    olam2-inv

Ajouter des informations d'identification de contrôle des versions

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

  2. Cliquez sur le bouton Ajouter.

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

    • Nom : Git Server
    • Type d'informations d'identification : Contrôle source

    olam2-git-cred1

    La page est actualisée, en demandant les Détails du type.

  4. Entrez le nom d'utilisateur du serveur Git.

    • Nom utilisateur : git
  5. 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.

    olam2-git-cred2

  6. Vérifiez et cliquez sur le bouton Enregistrer.

    olam2-git-cred3

Créez un projet

  1. Cliquez sur Projets dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter.

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

    olam2-proj1

    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.

  4. Vérifiez et cliquez sur le bouton Enregistrer.

    olam2-proj2

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

    olam2-proj-sync

Créer un modèle de tâche

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

  2. Cliquez sur le bouton Ajouter et sélectionnez Ajouter un modèle de travail dans la liste déroulante des valeurs.

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

  5. Sélectionnez Mes informations d'identification OCI, puis cliquez sur le bouton Sélectionner.

  6. Consultez les entrées du modèle de travail.

    olam2-temp1

  7. Faites défiler la page vers le bas et cliquez sur le bouton Enregistrer.

    olam2-temp2

  8. Lancez le modèle.

    Lancez un travail à partir de la page de synthèse du modèle en cliquant sur le bouton Lancer.

    olam2-lancement temporaire

    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.

    olam2-temp-output

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.

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.