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.
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.
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.
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_EPELOracle Linux 8 :
yum install -y oci-ansible-collection --enablerepo ol8_developer --enablerepo ol8_developer_EPELUne 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_factsSi vous utilisez Oracle Linux 8, exécutez la commande suivante pour tester l'installation :
ansible localhost -m oracle.oci.oci_object_storage_namespace_factsInstallation manuelle
Installation du kit SDK Oracle Cloud Infrastructure pour Python
- Téléchargez et installez le kit SDK pour Python en suivant les instructions de la rubrique Kit SDK pour Python. Pour obtenir des instructions supplémentaires, reportez-vous à Téléchargement et installation du kit SDK.
- Une fois le kit SDK Python installé, vous devez le configurer à l'aide des instructions de la rubrique Configuration du kit SDK.
Installation et configuration d'Ansible
- Pour installer Ansible, suivez les instructions fournies dans le guide d'installation Ansible.
- Afin d'obtenir des instructions pour la configuration d'Ansible, reportez-vous à Configuration d'Ansible.
La collection Ansible pour OCI requiert Ansible version 2.9 ou ultérieure. Si vous utilisez une version antérieure d'Ansible, reportez-vous à la documentation de nos modules hérités.
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.ymlObtention 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.
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.