Introducción

En este tema se explica cómo empezar a utilizar la recolección de Ansible de Oracle Cloud Infrastructure (OCI). La colección de Ansible de OCI sustituye a nuestros módulos de Ansible heredados.

Nota

Si actualmente utiliza nuestros módulos de Ansible heredados y desea empezar a utilizar recopilaciones, consulte la guía de migración.

Para empezar a utilizar Ansible con OCI, asegúrese de cumplir los requisitos y, a continuación, instale la recopilación de Ansible mediante yum o manualmente.

Consejo

Puede utilizar el Resource Manager para preinstalar Oracle Cloud Development Kit en una instancia de Compute en el compartimento. Oracle Cloud Development Kit incluye Ansible, la recopilación de Ansible de OCI y sus dependencias, y, además, preconfigura la autorización necesaria.

Tanto Ansible como nuestra recopilación de Ansible también vienen preinstalados y preautenticados en Cloud Shell.

Requisitos para utilizar Ansible con Oracle Cloud Infrastructure

  • Debe tener una cuenta de Oracle Cloud Infrastructure.
  • Debe tener un usuario en esa cuenta en un grupo de seguridad con una política que otorgue los permisos necesarios para trabajar con recursos en los compartimentos de cuenta. Para obtener instrucciones, consulte la sección sobre el funcionamiento de las políticas.
  • Debe tener las credenciales y la información de OCID necesarias.

Instalación de la recopilación de Ansible con Yum

Si ejecuta Oracle Linux 7 u Oracle Linux 8, puede utilizar yum para instalar el RPM de la recopilación de Ansible de Oracle Cloud Infrastructure.

El RPM de las recopilaciones de Ansible instala la recopilación de OCI Ansible y sus dependencias necesarias: el SDK de OCI para Python y Ansible.

Nota

Esta instalación utiliza la versión 3.6 de Python y la versión 2.9 o posterior de Ansible.

Utilice uno de los siguientes comandos para activar el repositorio de desarrolladores de Oracle Linux e instalar el RPM de recopilación de Ansible, en función de su versión de 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

Después de instalar el RPM, debe configurar el archivo de configuración SDK y CLI como se explica en Configurar autenticación.

Prueba de la instalación

Para probar la instalación del RPM y la configuración del SDK, puede ejecutar un cuaderno de estrategias de Ansible de ejemplo.

Si utiliza Oracle Linux 7, utilice el siguiente comando para probar la instalación:

ansible-3 localhost -m oracle.oci.oci_object_storage_namespace_facts

Si utiliza Oracle Linux 8, utilice el siguiente comando para probar la instalación:

ansible localhost -m oracle.oci.oci_object_storage_namespace_facts

Instalación manual

Instalación de la recopilación de Ansible de Oracle Cloud Infrastructure

Instale la recopilación de OCI Ansible de Ansible Galaxy mediante el siguiente comando:

$ ansible-galaxy collection install oracle.oci

Si ya ha instalado la recopilación, puede actualizar sus módulos a la última versión agregando el indicador --force al comando. Por ejemplo:

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

Cuadernos de estrategias de ejemplo

Los cuadernos de estrategias de muestra están disponibles en el proyecto GitHub de recopilación de Ansible de Oracle Cloud Infrastructure. La biblioteca de ejemplos se actualiza de forma regular con la adición de nuevos ejemplos. Consulte Cuadernos de estrategias de Ansible de ejemplo para obtener más información.

Escritura de un cuaderno de estrategias de ejemplo

Cuando finalice la instalación, o si utiliza Cloud Shell, puede escribir un cuaderno de estrategias de ejemplo que utilice módulos de Ansible. A continuación, se muestra un ejemplo de cuaderno de estrategias (denominado list_buckets.yml) que utiliza el módulo oci_object_storage_bucket_facts para recuperar los hechos pertenecientes a los cubos del compartimento.

---
- 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}}'

Ejecución del cuaderno de estrategias

Ejecute el cuaderno de estrategias de Ansible mediante Python llamando a este comando:

$ ansible-playbook list_buckets.yml

Cómo obtener la documentación del módulo

La información detallada sobre el uso de nuestros módulos de Ansible está disponible en docs.oracle.com y readthedocs.io.

Para obtener acceso a información detallada sobre el uso de módulos de Ansible en la CLI, utilice el comando ansible-doc en el nombre del módulo. Por ejemplo, para obtener la documentación del módulo oci_object_storage_bucket_facts, ejecute el siguiente comando:

$ ansible-doc oracle.oci.oci_object_storage_bucket_facts

Configuración de la autenticación

Al crear y configurar recursos Oracle Cloud Infrastructure, los módulos de Ansible utilizan información sobre autenticación que se describe en el archivo de configuración de SDK y CLI.

Atención

Las Credenciales de usuario a las que se hace referencia en la configuración del SDK de Oracle Cloud Infrastructure otorgan acceso a los recursos de Oracle Cloud Infrastructure. Por lo tanto, es importante asegurar las credenciales para evitar el acceso no autorizado a estos recursos. Para proteger las credenciales en el nodo de controlador en el que se ejecutan los cuadernos de estrategias de Ansible, siga las instrucciones descritas en el documento sobre la protección de IAM (consulte la sección sobre las credenciales de IAM).

Los módulos Ansible permiten sustituir la información de autenticación especificada en el archivo de configuración de SDK mediante las opciones de módulo y las variables de entorno. La documentación para sustituciones de autenticación se proporciona internamente, como se describe en Cómo obtener documentación del módulo. Sin embargo, el uso de variables de entorno y opciones de módulo de Ansible para sustituir la información de autenticación se debe evitar en escenarios de producción.

Se recomienda utilizar los archivos Oracle Cloud Infrastructure SDK para especificar la información de autenticación. Para soportar varios usuarios, utilice la función "profiles" en el archivo de configuración de SDK. Al distribuir roles que utilizan módulos de Ansible, asegúrese de que no se incluyen con ellos las credenciales de IAM.