Guida introduttiva

Questo argomento descrive come iniziare a utilizzare la raccolta Ansible di Oracle Cloud Infrastructure (OCI). La raccolta OCI Ansible sostituisce i nostri moduli Ansible legacy.

Nota

Se attualmente si utilizzano i nostri moduli Ansible legacy e si desidera iniziare a utilizzare le raccolte, fare riferimento alla guida alla migrazione.

Per iniziare a utilizzare Ansible con OCI, assicurarsi di soddisfare i prerequisiti, quindi installare la raccolta Ansible utilizzando yum o manualmente.

Suggerimento

Puoi utilizzare Resource Manager per preinstallare Oracle Cloud Development Kit su un'istanza di computazione nel tuo compartimento. Il kit di sviluppo di Oracle Cloud include Ansible, la raccolta Ansible di OCI e le relative dipendenze e preconfigura l'autorizzazione richiesta.

Sia Ansible che la nostra raccolta Ansible sono preinstallati e preautenticati su Cloud Shell.

Prerequisiti per l'uso di Ansible con Oracle Cloud Infrastructure

  • Devi disporre di un account Oracle Cloud Infrastructure.
  • È necessario disporre di un utente in tale account in un gruppo di sicurezza con un criterio che concede le autorizzazioni necessarie per l'utilizzo delle risorse nei compartimenti degli account. Per istruzioni, vedere Funzionamento dei criteri.
  • È necessario disporre delle credenziali e delle informazioni OCID necessarie.

Installazione della raccolta Ansible con Yum

Se stai utilizzando Oracle Linux 7 o Oracle Linux 8, puoi utilizzare yum per installare l'RPM di raccolta di Oracle Cloud Infrastructure Ansible.

L'RPM raccolta Ansible installa la raccolta Ansible OCI e le dipendenze necessarie: l'SDK OCI per Python e Ansible.

Nota

Questa installazione utilizza Python versione 3.6 e Ansible versione 2.9 o successiva.

Utilizzare uno dei seguenti comandi per abilitare il repository per sviluppatori di Oracle Linux e installare l'RPM di raccolta Ansible, a seconda della versione di Oracle Linux in uso.

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

Dopo avere installato l'RPM, è necessario configurare il file di configurazione SDK e CLI come descritto in Configuring Authentication.

Test dell'installazione

Per testare l'installazione dell'RPM e la configurazione dell'SDK, è possibile eseguire un playbook Ansible di esempio.

Se si utilizza Oracle Linux 7, utilizzare il comando seguente per eseguire il test dell'installazione:

ansible-3 localhost -m oracle.oci.oci_object_storage_namespace_facts

Se si utilizza Oracle Linux 8, utilizzare il comando seguente per eseguire il test dell'installazione:

ansible localhost -m oracle.oci.oci_object_storage_namespace_facts

Installazione manuale

Installazione di Oracle Cloud Infrastructure SDK per Python

  1. Scaricare e installare l'SDK per Python seguendo le istruzioni riportate nell'argomento SDK per Python. Per ulteriori indicazioni, vedere Download e installazione dell'SDK.
  2. Dopo aver installato l'SDK per Python, è necessario configurarlo utilizzando le istruzioni riportate nell'argomento Configurazione dell'SDK.

Installazione della raccolta Ansible di Oracle Cloud Infrastructure

Installare la raccolta OCI Ansible da Ansible Galaxy utilizzando il comando seguente:

$ ansible-galaxy collection install oracle.oci

Se la raccolta è già stata installata, è possibile aggiornare i moduli alla versione più recente aggiungendo il flag --force al comando. Ad esempio:

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

Playbook di esempio

I playbook di esempio sono disponibili nel progetto GitHub della raccolta Oracle Cloud Infrastructure Ansible. La libreria di esempi viene aggiornata regolarmente insieme all'aggiunta di nuovi esempi. Per ulteriori informazioni, vedere Playbook Ansible di esempio.

Scrittura di un Playbook di esempio

Al termine dell'installazione o se si utilizza Cloud Shell, è possibile scrivere una playbook di esempio che utilizza i moduli Ansible. Di seguito è riportato un playbook di esempio (denominato list_buckets.yml) che utilizza il modulo oci_object_storage_bucket_facts per recuperare i fact relativi ai bucket nel 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}}'

Esecuzione del Playbook

Eseguire il playbook Ansible utilizzando Python richiamando questo comando:

$ ansible-playbook list_buckets.yml

Come ottenere la documentazione del modulo

Informazioni dettagliate sull'uso dei moduli Ansible sono disponibili su docs.oracle.com e readthedocs.io.

Per ottenere l'accesso a informazioni dettagliate sull'uso dei moduli Ansible nell'interfaccia CLI, utilizzare il comando ansible-doc sul nome del modulo. Ad esempio, per ottenere la documentazione del modulo oci_object_storage_bucket_facts, eseguire il comando seguente:

$ ansible-doc oracle.oci.oci_object_storage_bucket_facts

Configurazione dell'autenticazione

Quando si creano e si configurano le risorse Oracle Cloud Infrastructure, i moduli Ansible utilizzano le informazioni di autenticazione descritte nel file di configurazione di SDK e CLI.

Attenzione

Credenziali utente a cui viene fatto riferimento nei file di configurazione di Oracle Cloud Infrastructure SDK concedono l'accesso alle risorse di Oracle Cloud Infrastructure. Pertanto, è importante proteggere le credenziali per impedire l'accesso non autorizzato a queste risorse. Per proteggere le credenziali sul nodo del controller in cui vengono eseguite le playbook Ansible, attenersi alle linee guida descritte nel documento Protezione di IAM (vedere la sezione "Credenziali IAM").

I moduli Ansible consentono di sostituire le informazioni di autenticazione specificate nel file di configurazione SDK utilizzando le opzioni del modulo e le variabili di ambiente. La documentazione per le sostituzioni dell'autenticazione viene fornita internamente, come descritto in Come ottenere la documentazione del modulo. Tuttavia, l'uso delle variabili di ambiente e delle opzioni del modulo Ansible per sostituire le informazioni di autenticazione deve essere evitato negli scenari di produzione.

Si consiglia di utilizzare i file di configurazione di Oracle Cloud Infrastructure SDK per specificare le informazioni di autenticazione. Per supportare più utenti, utilizzare la funzione "profili" nel file di configurazione SDK. Durante la distribuzione dei ruoli che utilizzano i moduli Ansible, assicurarsi che i ruoli non includano credenziali IAM.