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.
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.
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.
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 trousse SDK Oracle Cloud Infrastructure pour Python
- Téléchargez et installez la trousse SDK pour Python en suivant les instructions de la rubrique Trousse SDK pour Python. Pour plus d'informations, voir Téléchargement et installation de la trousse SDK.
- Après avoir installé la trousse SDK pour Python, vous devez la configurer à l'aide des instructions de la rubrique Configuration de la trousse SDK.
Installation et configuration d'Ansible
- Pour installer Ansible, suivez les instructions fournies dans le document Ansible Installation Guide.
- Pour obtenir de l'aide sur la configuration d'Ansible, voir Configuration d'Ansible.
La collection Ansible pour OCI nécessite Ansible version 2.9 ou ultérieure. Si vous utilisez une version antérieure d'Ansible, consultez la documentation de nos modules existants.
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.
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.