Note :

Utiliser la collection Ansible pour OCI avec Oracle Linux Automation Manager

Présentation

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

Créer un livre de jeu

  1. Ouvrez une nouvelle fenêtre de terminal.

  2. Définissez une variable sur l'instance git-server distante.

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

    mkdir ~/myproject
    
  4. Créez un fichier d'exigences.

    Oracle Linux Automation Engine utilise le fichier des exigences pour extraire les collections ou les rôles requis dans le projet au moment de l'exécution.

    cat << EOF > ~/myproject/requirements.yml 
    ---
    collections:
      - name: oracle.oci
      - name: community.general
    EOF
    

    Note : 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éez un playbook.

    Ce livre de jeu interroge l'espace de noms de stockage d'objets pour la location Oracle Cloud Infrastructure. Nous configurerons les détails de la location plus tard 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 source

  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 Git pour la première fois.

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

      git config --global init.defaultBranch main
      
    2. Définissez votre identité.

      Le courriel 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 retourne 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é dans 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 numérique de la clé ECDSA en entrant 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 après le deux-points est l'emplacement du répertoire du référentiel sur le serveur Git distant.

  8. Vérifiez l'enregistrement de connexion nouvellement ajouté.

    git remote -v
    

    La sortie affiche l'origine de l'enregistrement de connexion pointant vers l'emplacement du référentiel Git distant pour les commandes git fetch et git push.

  9. Pousser 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 données d'identification Ansible Galaxy

Ces données d'identification permettent à Oracle Linux Automation Manager d'extraire la collection Ansible pour OCI du centre Ansible Galaxy 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 entrez l'URL.

    https://localhost:8444
    

    Note : 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 d'utilisateur admin et le mot de passe admin créés lors du déploiement automatisé.

    olam2 - Connexion

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

    olam2-webui

  5. Cliquez sur Données d'identification dans la section Ressources du menu de navigation.

  6. Cliquez sur le bouton Ajouter.

  7. 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 dans la liste.

    • Nom : My Ansible Galaxy
    • Organisation : Default
    • Type de données d'identification : Jeton d'API Ansible Galaxy/Automation Hub

    Oracle Linux Automation Manager utilise les données d'identification Ansible Galaxy pour faciliter le téléchargement des rôles et des collections à l'aide de la commande ansible-galaxy.

    • URL du serveur Galaxy : https://galaxy.ansible.com

    olam2-crédits de galaxie

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

  9. Cliquez sur Organizations (Organisations) dans la section Access (Accès) du menu de navigation.

    L'affectation des données d'identification Ansible Galaxy dans l'organisation permet le téléchargement de la collection Ansible de l'infrastructure Oracle Linux à partir du projet git.

  10. Cliquez sur l'organisation Par défaut et cliquez sur le bouton Modifier.

  11. Sélectionnez les données d'identification My Ansible Galaxy dans le champ Galaxy Credentials (Données d'identification Galaxy) et cliquez sur le bouton Select (Sélectionner).

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

    olam2-ansible-galaxy-org

Créer des données d'identification OCI

Les données d'identification OCI fournissent des informations sur Oracle Linux Automation Manager concernant la location OCI spécifique.

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

  2. Cliquez sur le bouton Ajouter.

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

    • Nom : My OCI Credentials
    • Organisation : Default
    • Type de données d'identification : Oracle Cloud Infrastructure

    olam2-oci-cred1

    La page est actualisée et demande vos informations de configuration OCI.

  4. Ouvrez une nouvelle fenêtre de terminal.

  5. Afficher 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 données d'identification OCI dans l'interface utilisateur Web d'Oracle Linux Automation Manager.

    Utilisez l'icône olam2-webui-show à côté de chaque champ pour afficher la valeur du collage.

    olam2-oci-cred2

  7. Obtenez le contenu de la clé privée d'API de votre utilisateur OCI.

    Dans l'environnement de laboratoire gratuit, vous pouvez exécuter cat ~/.oci/oci.key pour obtenir ces informations, puis copier la sortie complète, y compris les lignes BEGIN et END.

  8. Collez la clé dans le champ Clé d'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 à côté du champ spécifique et ajoutez la nouvelle valeur pour le champ. Répétez l'opération au besoin, puis cliquez sur le bouton Enregistrer lorsque vous avez terminé d'apporter des modifications.

Créer un inventaire

  1. Cliquez sur Inventaires 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. Entrez ou sélectionnez les valeurs suivantes dans les champs spécifiques.

    • Nom : My Local Inventory
    • Groupes d'instances : plan de contrôle

    La collection Ansible pour Oracle Cloud Infrastructure utilise une connexion réseau localhost lors de l'utilisation d'Oracle Linux Automation Engine pour interagir avec la location OCI.

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

    olam2-inv

Ajouter des données d'identification de contrôle source

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

  2. Cliquez sur le bouton Ajouter.

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

    • Nom : Git Server
    • Type de données d'identification : Contrôle source

    olam2-git-cred1

    La page s'actualise et demande les détails du type.

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

    • Nom d'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 de laboratoire 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éer un projet

  1. Cliquez sur Projets dans le menu de navigation.

  2. Cliquez sur le bouton Ajouter.

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

    • Nom : My Project
    • Environnement d'exécution : OLAM EE (2.3)
    • Type de données d'identification de contrôle source : Git

    olam2-proj1

    La page s'actualise et demande les détails du type.

    • URL de contrôle source : git@<ip_address_of_instance>:/git-server/repos/myproject.git
    • Branche de contrôle source : main
    • Données d'identification de contrôle source : Serveur Git

    L'environnement de laboratoire gratuit utilise l'adresse IP git-server 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.

    Après avoir créé un projet, l'interface utilisateur Web affiche son statut dans le sommaire Détails au début de la synchronisation. Le statut passe de En cours d'exécution à Réussite 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 tâche dans la liste déroulante des valeurs.

  3. Entrez ou sélectionnez les valeurs requises.

    • Nom : My Template
    • Type de tâche : Exécuter
    • Stock : Mon inventaire local
    • Projet : Mon projet
    • Environnement d'exécution : OLAM EE (2.3)
    • Livre multimédia : get_namespace.yml
  4. Sélectionnez les données d'identification.

    Lorsque vous sélectionnez Données d'identification, une boîte de dialogue contextuelle Sélectionner les données d'identification s'affiche. Sélectionnez Oracle Cloud Infrastructure dans la liste déroulante Catégorie sélectionnée pour afficher les données d'identification de ce type.

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

  6. Vérifiez les entrées du modèle de tâche.

    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 une tâche à partir de la page sommaire du modèle en cliquant sur le bouton Lancer.

    olam2-temp-lancement

    En cas de succès, la tâche lance 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

Étapes suivantes

La sortie affichant l'espace de noms confirme que vous disposez d'une configuration et d'un projet fonctionnels qui montrent comment utiliser des livres de jeu tirant parti de la collection Ansible d'Oracle Cloud Infrastructure. Testez davantage la collection pour déployer des instances et d'autres ressources dans votre location.

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.