Nota
- Questa esercitazione è disponibile in un ambiente di esercitazione pratica gratuito fornito da Oracle.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Usa OCI Ansible Collection con Oracle Linux Automation Manager
Introduzione
Oracle Cloud Infrastructure (OCI) Ansible Collection offre un modo semplice per eseguire il provisioning e gestire le risorse in Oracle Cloud utilizzando Oracle Linux Automation Engine o Oracle Linux Automation Manager.
Obiettivi
In questo tutorial imparerai come:
- Crea una guida che utilizza la raccolta OCI Ansible
- Configurare le credenziali per Ansible Galaxy
- Aggiungi la credenziale di Oracle Cloud Infrastructure
- Crea un modello di job
- Eseguire il job
Prerequisiti
- Un sistema con Oracle Linux Automation Manager installato
- Accesso a un repository git
- Un account Oracle Cloud Infrastructure (OCI)
- Un utente nell'account OCI con l'autorizzazione per utilizzare le risorse in un compartimento
- Accesso alle credenziali e alle informazioni sull'OCID dell'account
Distribuisci Oracle Linux Automation Manager
Nota: se è in esecuzione nella propria tenancy, leggere il progetto linux-virt-labs
GitHub README.md e completare i prerequisiti prima di distribuire l'ambiente di esercitazione pratica.
-
Aprire un terminale sul Luna Desktop.
-
Duplica il progetto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Passare alla directory di lavoro.
cd linux-virt-labs/olam
-
Installare le raccolte richieste.
ansible-galaxy collection install -r requirements.yml
-
Aggiornare la configurazione dell'istanza Oracle Linux.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" 2: instance_name: "git-server" type: "server" use_git: true olam_type: single EOF
-
Creare un file di inventario.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Implementa l'ambiente di laboratorio.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
L'ambiente di laboratorio gratuito richiede la variabile extra
ansible_python_interpreter
per localhost perché installa il pacchetto RPM per Oracle Cloud Infrastructure SDK per Python. La posizione per l'installazione di questo pacchetto si trova sotto i moduli Python predefiniti del sistema in base alla versione di Oracle Linux in uso. L'utilizzo di una variabile di inventario evita di influire sulle riproduzioni in esecuzione su host diversi da localhost.La forma di distribuzione predefinita utilizza la CPU AMD. È possibile modificare la forma delle istanze passando una nuova definizione di variabile forma sulla riga di comando.
Ad esempio:
-e instance_shape="VM.Standard3.Flex"
Analogamente, la versione predefinita dell'immagine Oracle Linux utilizza la variabile
os_version
definita nel file `default_vars.yml. È possibile modificare questo valore passando la versione principale di Oracle Linux dalla riga di comando.Ad esempio:
-e os_version="9"
Importante: attendere che il playbook venga eseguito correttamente e raggiungere il task di sospensione. In questa fase del playbook, l'installazione di Oracle Linux è completa e le istanze sono pronte. Nota la riproduzione precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce.
Crea un Playbook
-
Aprire una nuova finestra del terminale.
-
Impostare una variabile sull'istanza remota di git-server.
export REMOTE=<ip_address_of_instance>
-
Creare una directory di progetto.
mkdir ~/myproject
-
Creare un file dei requisiti.
Oracle Linux Automation Engine utilizza il file dei requisiti per inserire nel progetto le raccolte o i ruoli necessari in fase di esecuzione.
cat << EOF > ~/myproject/requirements.yml --- collections: - name: oracle.oci - name: community.general EOF
Nota: per le versioni di Oracle Linux Automation Engine < 2.13.9, è possibile configurare il file dei requisiti per estrarre la raccolta direttamente dal repository GitHub delle raccolte.
cat << EOF > ~/myproject/requirements.yml --- collections: - name: https://github.com/oracle/oci-ansible-collection.git type: git version: master - name: https://github.com/ansible-collections/community.general.git type: git version: main EOF
-
Crea una guida.
Questo playbook esegue una query sullo spazio di nomi dello storage degli oggetti per la tenancy Oracle Cloud Infrastructure. I dettagli della tenancy verranno configurati in un secondo momento nell'interfaccia utente Web di Oracle Linux Automation Manager.
cat << EOF > ~/myproject/get_namespace.yml --- - name: Get namespace name hosts: localhost tasks: - name: get namespace oracle.oci.oci_object_storage_namespace_facts: register: output - name: print namespace ansible.builtin.debug: msg: "" EOF
Aggiunta del progetto al controllo versione
-
Inizializzare la directory di lavoro del progetto in un repository Git.
Prima di inizializzare il repository, è necessario eseguire alcuni passi di configurazione della prima volta di Git.
-
Impostare il nome diramazione predefinito utilizzato durante l'inizializzazione di un progetto.
git config --global init.defaultBranch main
-
Imposta la tua identità.
L'e-mail e il nome sono esempi in questa esercitazione. Utilizza il tuo indirizzo e-mail e il tuo nome quando lavori sui tuoi progetti, poiché git include immutabilmente queste informazioni in ogni commit.
git config --global user.email johndoe@example.com git config --global user.name "John Doe"
-
Passare alla directory di lavoro del progetto.
cd ~/myproject
-
Inizializzare la directory come repository Git locale.
git init
Il comando restituisce che ha inizializzato il repository Git vuoto.
-
-
Controllare lo stato della directory di lavoro e dell'area intermedia del progetto.
git status
Lo stato del repository locale indica due file non controllati: get_namespace.yml e requirements.yml
-
Aggiungere e tenere traccia dei nuovi file nell'area intermedia.
git add --all
L'opzione
--all
consente di aggiungere all'area intermedia tutti i file non tracciati e modificati. -
Eseguire il commit delle modifiche attualmente nell'area intermedia.
git commit -m 'initial commit'
L'opzione
-m
consente di aggiungere un commento alle modifiche di cui è stato eseguito il commit. -
Creare e inizializzare il repository Git remoto.
Un repository remoto è un repository condiviso utilizzato da tutti i collaboratori del progetto e memorizzato in un servizio di code-hosting, ad esempio GitHub o un server self-hosted.
ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
L'opzione
-b
garantisce l'inizializzazione del repository remoto utilizzando una diramazione denominata main. -
Accettare l'impronta digitale del tasto ECDSA digitando
yes
. -
Aggiungere il nuovo record di connessione al repository remoto.
L'aggiunta della connessione remota al repository locale consente di utilizzarla come collegamento denominato nei comandi Git.
git remote add origin git@$REMOTE:/git-server/repos/myproject.git
Il percorso dopo i due punti è la posizione della directory del repository sul server Git remoto.
-
Verificare il record di connessione appena aggiunto.
git remote -v
L'output mostra il record di connessione origin che punta alla posizione del repository Git remoto sia per i comandi
git fetch
che per i comandigit push
. -
Esegue il push delle modifiche del repository locale nel repository remoto.
git push origin main
È ora possibile utilizzare l'origine myproject all'interno di un progetto Oracle Linux Automation Manager.
Crea credenziali Galaxy Ansible
Queste credenziali consentono a Oracle Linux Automation Manager di estrarre la raccolta Ansible OCI dall'hub Galaxy Ansible pubblico.
-
Aprire una nuova finestra del terminale e configurare un tunnel SSH per l'istanza olam-node.
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
-
Aprire un browser Web e immettere l'URL.
https://localhost:8444
Nota: approvare l'avvertenza di sicurezza in base al browser utilizzato. Per il browser Chrome, fare clic sul pulsante Avanzate, quindi sul collegamento Procedi a localhost (non sicuro).
-
Eseguire il login all'interfaccia utente Web di Oracle Linux Automation Manager. Utilizzare il nome utente
admin
e la passwordadmin
creati durante la distribuzione automatica. -
L'interfaccia utente Web viene visualizzata dopo un login riuscito.
-
Fare clic su Credenziali nella sezione Risorse del menu di navigazione.
-
Fare clic sul pulsante Aggiungi.
-
Immettere o selezionare i seguenti valori nei campi specifici.
Per i campi con una ricerca o un elenco di valori, è possibile iniziare a digitare il valore richiesto e quindi selezionarlo dall'elenco.
- Nome:
My Ansible Galaxy
- Organizzazione:
Default
- Tipo di credenziale: token API Ansible Galaxy/Automation Hub
Oracle Linux Automation Manager utilizza le credenziali di Ansible Galaxy per facilitare il download di ruoli e raccolte utilizzando il comando
ansible-galaxy
.- URL di Galaxy Server:
https://galaxy.ansible.com
- Nome:
-
Rivedere le voci e fare clic sul pulsante Salva.
-
Fare clic su Organizzazioni nella sezione Accesso del menu di navigazione.
L'assegnazione della credenziale Ansible Galaxy all'interno dell'organizzazione consente di scaricare la raccolta Ansible dell'infrastruttura Oracle Linux dall'interno del progetto git.
-
Fare clic sull'organizzazione Predefinita e fare clic sul pulsante Modifica.
-
Selezionare la credenziale Il mio Galaxy Ansible nel campo Credenziali galassie e fare clic sul pulsante Seleziona.
-
Rivedere e fare clic sul pulsante Salva.
Crea credenziali OCI
Le credenziali OCI forniscono informazioni su Oracle Linux Automation Manager sulla tenancy OCI specifica.
-
Fare clic su Credenziali nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi.
-
Immettere o selezionare i seguenti valori nei campi specifici.
- Nome:
My OCI Credentials
- Organizzazione:
Default
- Tipo di credenziale: Oracle Cloud Infrastructure
La pagina aggiorna e richiede le informazioni di configurazione OCI.
- Nome:
-
Aprire una nuova finestra del terminale.
-
Visualizzare il contenuto del file di configurazione OCI.
cat ~/.oci/config
-
Utilizzare i valori mostrati nel terminale e abbinarli ai campi specifici delle credenziali OCI nell'interfaccia utente Web di Oracle Linux Automation Manager.
Utilizzare l'icona
accanto a ciascun campo per visualizzare il valore dell'operazione Incolla.
-
Ottieni il contenuto della chiave privata API dell'utente OCI.
Nell'ambiente di laboratorio gratuito è possibile eseguire
cat ~/.oci/oci.key
per ottenere queste informazioni, quindi copiare l'intero output, incluse le righe BEGIN e END. -
Incollare la chiave nel campo Private User Key all'interno dell'interfaccia utente Web di Oracle Linux Automation Manager.
-
Rivedere e fare clic sul pulsante Salva.
Se è necessario modificare questi valori in un secondo momento, questi verranno visualizzati cifrati nell'interfaccia utente Web. Pertanto, per apportare modifiche, fare clic sull'icona Sostituisci accanto al campo specifico e aggiungere il nuovo valore per il campo. Ripetere l'operazione in base alle esigenze, quindi fare clic sul pulsante Salva al termine dell'esecuzione delle modifiche.
Creare un inventario
-
Fare clic su Inventari nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi e selezionare Aggiungi magazzino dall'elenco a discesa di valori.
-
Immettere o selezionare i seguenti valori nei campi specifici.
- Nome:
My Local Inventory
- Gruppi di istanze: piano di controllo
La raccolta Oracle Cloud Infrastructure Ansible utilizza una connessione di rete localhost quando si utilizza Oracle Linux Automation Engine per interagire con la tenancy OCI.
- Nome:
-
Rivedere e fare clic sul pulsante Salva.
Aggiungi credenziale di controllo dell'origine
-
Fare clic su Credenziali nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi.
-
Immettere o selezionare i seguenti valori nei campi specifici.
- Nome:
Git Server
- Tipo di credenziale: Controllo origine
La pagina viene aggiornata, richiedendo i dettagli del tipo.
- Nome:
-
Immettere il nome utente del server Git.
- Nome utente:
git
- Nome utente:
-
Copiare e incollare il contenuto della chiave privata del server Git nel campo Chiave privata SCM.
L'ambiente di laboratorio gratuito utilizza il file
~/.ssh/id_rsa
predefinito. -
Rivedere e fare clic sul pulsante Salva.
Crea un progetto
-
Fare clic su Progetti nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi.
-
Immettere o selezionare i seguenti valori nei campi specifici.
- Nome:
My Project
- Ambiente di esecuzione: OLAM EE (2.3)
- Tipo di credenziale di controllo origine: Git
La pagina viene aggiornata, richiedendo i dettagli del tipo.
- URL controllo origine:
git@<ip_address_of_instance>:/git-server/repos/myproject.git
- Diramazione controllo di origine:
main
- Credenziale di controllo origine: Server Git
L'ambiente di laboratorio gratuito utilizza l'indirizzo IP del server git nel campo URL controllo origine.
- Nome:
-
Rivedere e fare clic sul pulsante Salva.
-
Rivedere lo stato di sincronizzazione del progetto.
Dopo aver creato un progetto, l'interfaccia utente Web visualizza il relativo stato nel sintetico Dettagli all'inizio della sincronizzazione. Lo stato passa da In esecuzione a Operazione riuscita se la configurazione è corretta e il server Git è raggiungibile.
Crea modello job
-
Fare clic su Modelli nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi e selezionare Aggiungi modello di job dall'elenco a discesa dei valori.
-
Immettere o selezionare i valori richiesti.
- Nome:
My Template
- Tipo di job: Esegui
- Magazzino: Magazzino locale personale
- Progetto: Progetto personale
- Ambiente di esecuzione: OLAM EE (2.3)
- Playbook: get_namespace.yml
- Nome:
-
Selezionare le credenziali
Quando si seleziona Credenziali, viene visualizzata una finestra di dialogo popup Seleziona credenziali. Scegliere Oracle Cloud Infrastructure dall'elenco a discesa Categoria selezionata per visualizzare le credenziali di quel tipo.
-
Selezionare Credenziali OCI personali, quindi fare clic sul pulsante Seleziona.
-
Rivedere le voci Modello job.
-
Scorrere la pagina e fare clic sul pulsante Salva.
-
Avviare il modello.
Avviare un job dalla pagina di riepilogo del modello facendo clic sul pulsante Avvia.
In caso di esito positivo, il job viene avviato e visualizza l'output del modello, incluso lo spazio di nomi della tenancy OCI. Se necessario, è possibile fare clic sul collegamento Ricarica output per aggiornare il pannello di output.
Passi successivi
L'output che mostra lo spazio di nomi conferma la disponibilità di una configurazione e di un progetto funzionanti che dimostrino come utilizzare i playbook utilizzando la raccolta Oracle Cloud Infrastructure Ansible. Sperimenta ulteriormente la raccolta per distribuire istanze e altre risorse nella tua tenancy.
Collegamenti correlati
- Documentazione di Oracle Linux Automation Manager
- Formazione su Oracle Linux Automation Manager
- Stazione di formazione su Oracle Linux
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Use OCI Ansible Collection with Oracle Linux Automation Manager
F76745-03
Copyright ©2023, Oracle and/or its affiliates.