Introduction

Cette rubrique explique comment commencer à utiliser la collection Ansible pour Oracle Cloud Infrastructure (OCI). La collection Ansible pour OCI remplace nos modules Ansible existants.

Note

Si vous utilisez actuellement nos modules Ansible existants et que vous souhaitez commencer à utiliser des collections, consultez notre guide de migration.

Pour commencer à utiliser Ansible avec OCI, assurez-vous que vous remplissez les préalables, puis installez la collection Ansible en utilisant yum ou manuellement.

Conseil

Vous pouvez utiliser le gestionnaire de ressources pour préinstaller la trousse SDK Oracle Cloud sur une instance de calcul dans votre compartiment. La Kit de développement Oracle Cloud inclut Ansible, la collection Ansible pour OCI et ses dépendances et préconfigure l'autorisation requise.

Ansible et notre collection Ansible sont également préinstallés et préauthentifiés sur Cloud Shell.

Préalables à l'utilisation d'Ansible avec Oracle Cloud Infrastructure

  • Vous devez avoir un compte Oracle Cloud Infrastructure.
  • Vous devez avoir un utilisateur dans ce compte, dans un groupe de sécurité, avec une politique qui accorde les autorisations nécessaires pour utiliser les ressources des compartiments du compte. Pour plus d'informations, voir Fonctionnement des politiques.
  • Vous devez avoir les données d'identification et les informations OCID nécessaires.

Installation de la collection Ansible avec yum

If you're running Oracle Linux 7 or Oracle Linux 8, you can use yum to install the Oracle Cloud Infrastructure Ansible collection RPM.

Le RPM de la collection Ansible installe la collection Ansible pour OCI et ses dépendances requises : la trousse SDK OCI pour Python et Ansible.

Note

Cette installation utilise Python version 3.6 et Ansible version 2.9 ou ultérieure.

Utilisez l'une des commandes suivantes pour activer le référentiel Oracle Linux Developer et installer le RPM de la collection Ansible, selon votre version d'Oracle Linux.

Oracle Linux 7 :

yum install -y oci-ansible-collection --enablerepo ol7_developer --enablerepo ol7_developer_EPEL

Oracle Linux 8 :

yum install -y oci-ansible-collection --enablerepo ol8_developer --enablerepo ol8_developer_EPEL

Après l'installation du RPM, vous devez définir le fichier de configuration des trousses SDK et de l'interface de ligne de commande comme expliqué sous Configuration de l'authentification.

Tester l'installation

Pour tester l'installation du RPM et la configuration de la trousse SDK, vous pouvez exécuter un exemple de livre de jeu Ansible.

Si vous utilisez Oracle Linux 7, exécutez la commande suivante pour tester votre installation :

ansible-3 localhost -m oracle.oci.oci_object_storage_namespace_facts

Si vous utilisez Oracle Linux 8, exécutez la commande suivante pour tester votre installation :

ansible localhost -m oracle.oci.oci_object_storage_namespace_facts

Installation manuelle

Installation de la collection Ansible pour Oracle Cloud Infrastructure

Installez la collection Ansible pour OCI à partir d'Ansible Galaxy à l'aide de la commande suivante :

$ ansible-galaxy collection install oracle.oci

Si vous avez déjà installé la collection, vous pouvez mettre à jour ses modules vers la dernière version en ajoutant l'indicateur --force à la commande. Par exemple :

$ ansible-galaxy collection install --force oracle.oci

Exemples de livres de jeu

Des exemples de livres de jeu sont disponibles dans le projet de la collection Ansible pour Oracle Cloud Infrastructure GitHub. La bibliothèque d'exemples est mise à jour régulièrement avec l'ajout de nouveaux exemples. Pour plus d'informations, voir Exemples de livres de jeu Ansible.

Écriture d'un exemple de livre de jeu

Une fois votre installation terminée, ou si vous utilisez Cloud Shell, vous pouvez écrire un exemple de livre de jeu qui utilise des modules Ansible. Vous trouverez ci-dessous un exemple de livre de jeu (nommé list_buckets.yml) qui utilise le module oci_object_storage_bucket_facts pour extraire les faits concernant les seaux de votre compartiment.

---
- name : List summary of existing buckets in OCI object storage
  collections:
    - oracle.oci
  connection: local
  hosts: localhost
  tasks:
    - name: List bucket facts
      oci_object_storage_bucket_facts:
         namespace_name: '<yournamespace>'
         compartment_id: '<yourcompartmentocid>'
      register: result
    - name: Dump result
      debug: 
        msg: '{{result}}'

Exécution du livre de jeu

Exécutez le livre de jeu Ansible à l'aide de Python en appelant la commande suivante :

$ ansible-playbook list_buckets.yml

Comment obtenir de la documentation sur le module

Des informations détaillées sur l'utilisation de nos modules Ansible sont disponibles sur docs.oracle.com et readthedocs.io.

Pour obtenir des informations détaillées sur l'utilisation des modules Ansible dans l'interface de ligne de commande, utilisez la commande ansible-doc sur le nom du module. Par exemple, pour obtenir la documentation sur le module oci_object_storage_bucket_facts, exécutez la commande suivante :

$ ansible-doc oracle.oci.oci_object_storage_bucket_facts

Configuration de l'authentification

Lors de la création et de la configuration de ressources Oracle Cloud Infrastructure, les modules Ansible utilisent les informations d'authentification décrites dans le fichier de configuration des trousses SDK et de l'interface de ligne de commande.

Avertissement

Les données d'identification de l'utilisateur qui sont référencées dans les fichiers de configuration de la trousse SDK pour Oracle Cloud Infrastructure accordent l'accès aux ressources Oracle Cloud Infrastructure. Par conséquent, il est important de sécuriser les données d'identification afin d'empêcher l'accès non autorisé à ces ressources. Pour sécuriser les données d'identification sur le noeud contrôleur où sont exécutés vos livres de jeu Ansible, suivez les directives décrites dans le document Sécurisation du service GIA (voir la section intitulée "Données d'identification du service GIA").

Les modules Ansible vous permettent de remplacer les informations d'authentification indiquées dans le fichier de configuration de la trousse SDK par l'utilisation d'options de module et de variables d'environnement. La documentation pour les remplacements d'authentification est fournie à l'interne, comme décrit sous Comment obtenir de la documentation sur le module. Toutefois, dans des scénarios de production, il faut éviter d'utiliser des variables d'environnement et des options de module Ansible pour remplacer les informations d'authentification.

Nous recommandons d'utiliser les fichiers de configuration de trousse SDK Oracle Cloud Infrastructure pour spécifier les informations d'authentification. Pour prendre en charge plusieurs utilisateurs, utilisez la fonction "profils" dans le fichier de configuration de la trousse SDK. Lors de la distribution des rôles qui utilisent les modules Ansible, assurez-vous qu'aucune donnée d'identification GIA n'est incluse dans les rôles.