Introduction

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

Remarque

Si vous utilisez actuellement nos modules Ansible hérités et voulez commencer à utiliser des collections, reportez-vous à notre guide de migration.

Pour commencer à utiliser Ansible avec OCI, assurez-vous de respecter les prérequis, puis installez la collection Ansible à l'aide d'yum ou manuellement.

Conseil

Vous pouvez utiliser Resource Manager pour préinstaller le kit d'Oracle Cloud sur une instance Compute dans votre compartiment. Le kit Oracle Cloud Development Kit inclut Ansible, la collection Ansible 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érequis pour l'utilisation d'Ansible avec Oracle Cloud Infrastructure

  • Vous devez disposer d'un compte Oracle Cloud Infrastructure.
  • Vous devez disposer d'un utilisateur dans ce compte, dans un groupe de sécurité avec une stratégie qui octroie les droits d'accès requis pour l'utilisation des ressources dans les compartiments du compte. Pour obtenir des instructions, reportez-vous à Fonctionnement des stratégies.
  • Vous devez disposer des informations d'identification et de l'OCID nécessaires.

Installation de la collection Ansible à l'aide de YUM

Si vous exécutez Oracle Linux 7 ou Oracle Linux 8, vous pouvez utiliser yum pour installer le RPM de collection Ansible Oracle Cloud Infrastructure.

Le RPM de collection Ansible permet d'installer la collection OCI Ansible ainsi que ses dépendances requises : le kit SDK OCI pour Python et Ansible.

Remarque

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 de développeur Oracle Linux et installer le package RPM de la collection Ansible, en fonction de 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

Une fois le package RPM installé, vous devez configurer le fichier de configuration du kit SDK et de l'interface de ligne de commande comme expliqué dans Configuration de l'authentification.

Test de l'installation

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

Si vous utilisez Oracle Linux 7, exécutez la commande suivante pour tester l'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 l'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 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 livre de jeux

Des exemples de livres de jeux sont disponibles dans le projet Oracle Cloud Infrastructure Ansible de l'ensemble GitHub. La bibliothèque d'exemples est régulièrement mise à jour via des ajouts. Pour plus d'informations, reportez-vous à Exemples de livre de jeux Ansible.

Ecriture d'un exemple de livre de jeux

Une fois que vous avez terminé l'installation, ou si vous utilisez Cloud Shell, vous pouvez écrire un exemple de livre de jeux utilisant des modules Ansible. Voici un exemple de livre de jeux (nommé list_buckets.yml) qui utilise le module oci_object_storage_bucket_facts pour extraire tous les faits relatifs aux buckets 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 jeux

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

$ ansible-playbook list_buckets.yml

Obtention de la documentation relative à un 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 du 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 qui sont présentées dans Fichier de configuration du kit kit SDK et de l'interface de ligne de ligne de commande.

Attention

Les informations d'identification utilisateur référencées dans les fichiers d'une configuration SDK Oracle Cloud Infrastructure accordent l'accès aux ressources Oracle Cloud Infrastructure. C'est pourquoi il est important de sécuriser les informations d'identification afin d'empêcher tout accès non autorisé à ces ressources. Pour sécuriser les informations d'identification sur le noeud de contrôleur où sont exécutés les livres de jeux Ansible, suivez les instructions données dans le document Sécurisation d'IAM (reportez-vous à la section nommée Informations d'identification IAM).

Les modules Ansible vous permettent de remplacer les informations d'authentification indiquées dans le fichier de configuration du kit SDK à l'aide d'options de module et de variables d'environnement. La documentation relative aux remplacements d'authentification est fournie en interne, comme décrit dans Obtention de la documentation relative à un module. Toutefois, évitez d'utiliser les variables d'environnement et les options de module Ansible pour remplacer les informations d'authentification dans les scénarios de production.

Nous vous recommandons d'utiliser les fichiers d'authentification du kit SDK Oracle Cloud Infrastructure pour spécifier les informations d'authentification. Pour prendre en charge plusieurs utilisateurs, utilisez la fonctionnalité de profil dans le fichier de configuration du kit SDK. Lors de la distribution des rôles qui utilisent des modules Ansible, assurez-vous qu'aucune information d'identification IAM n'est incluse dans les rôles.