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.
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.
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.
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
- 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.
- Dopo aver installato l'SDK per Python, è necessario configurarlo utilizzando le istruzioni riportate nell'argomento Configurazione dell'SDK.
Installazione e configurazione di Ansible
- Per installare Ansible, seguire le istruzioni fornite nel manuale Ansible Installation Guide.
- Per istruzioni sulla configurazione di Ansible, vedere Configurazione di Ansible.
La raccolta OCI Ansible richiede Ansible versione 2.9 o successiva. Se si utilizza una versione precedente di Ansible, fare riferimento alla documentazione per i moduli legacy.
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.
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.