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.
Gestisci Oracle Linux Automation Manager mediante la raccolta AWX
Introduzione
La raccolta AWX Ansible consente agli amministratori di interagire con Oracle Linux Automation Manager tramite playbook. I moduli includono la possibilità di eseguire task quali l'amministrazione di utenti e gruppi, la creazione di progetti e l'esecuzione di job.
Obiettivi
In questo tutorial imparerai come:
- Distribuire le istanze DevOps e Oracle Linux Automation Manager
- Impostare il file di configurazione nell'istanza DevOps
- Scrivere una guida per creare gli elementi necessari per eseguire un job
- Testare e verificare la guida
Prerequisiti
- Un nodo di controllo per l'esecuzione dei playbook di Oracle Linux Automation Engine
- Un'istanza di Oracle Linux Automation Manager
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" 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.
Verifica la distribuzione di Oracle Linux Automation Manager
-
Aprire un nuovo terminale.
-
Configurare un tunnel SSH per l'istanza di Oracle Linux Automation Manager.
ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
-o ExitOnForwardFailure=yes
: attende l'avanzamento di tutte le porte remote-f
: esegue il tunnel SSH in background-L
: crea il tunnel sulla porta 8444 sul sistema locale e 443 sul sistema remotosleep 300
: mantiene aperto il tunnel remoto per 5 minuti, in attesa di una connessione stabilita prima della chiusura automatica
-
Aprire un browser Web e immettere l'URL.
https://localhost:8444
Nota: approvare l'avvertenza di sicurezza in base al browser utilizzato. Per Chrome, fare clic sul pulsante
Advanced
, quindi sul collegamentoProceed to localhost (unsafe)
. -
Eseguire il login a Oracle Linux Automation Manager con il nome utente
admin
e la passwordadmin
creati durante la distribuzione. -
Dopo il login, viene visualizzata l'interfaccia utente Web.
Creazione del file di configurazione del controller
La raccolta AWX Ansible utilizza un file di configurazione e, in alcuni casi, l'interfaccia CLI AWX per l'autenticazione in Oracle Linux Automation Manager. I parametri di autenticazione possono essere passati nella riga di comando tramite l'interfaccia CLI direttamente o scritti in un file di configurazione.
Quando si specificano i parametri di autenticazione, la raccolta AWX Ansible prevede una combinazione di:
- host, nome utente, password
- host, token OAuth2
Ulteriori dettagli sono disponibili nel progetto a monte.
-
Tornare al terminale in cui è stato creato il tunnel SSH.
-
Generare il file di configurazione.
cat << EOF | tee ~/.tower_cli.cfg > /dev/null [general] host: https://localhost:8444 verify_ssl: false username: admin password: admin use_token = false EOF
host:
: definisce l'URL per accedere all'interfaccia utente Web di Oracle Linux Automation Managerverify_ssl:
: disattiva il rigoroso controllo SSL poiché l'ambiente di esercitazione utilizza un certificato autofirmatouse_token:
: sebbene sia preferibile utilizzare un token OAuth2, l'impostazione su false disattiva utilizzando uno per l'autenticazione
Crea un'organizzazione
Come descritto nel nostro tutorial Per iniziare, un'organizzazione si trova in cima alla piramide basata sui ruoli ed è una raccolta logica di utenti, team, progetti e inventari.
Piuttosto che creare questo attraverso l'interfaccia utente Web, possiamo scrivere un playbook.
-
Scrivi il playbook.
cat << EOF | tee configure-olam.yaml > /dev/null --- - name: Playbook to set up training demo data using the AWX collection hosts: localhost gather_facts: false collections: - awx.awx tasks: - name: Create an organization awx.awx.organization: name: "Example" description: "Created using a playbook" state: present EOF
-
Eseguire il playbook.
ansible-playbook configure-olam.yaml
-
Verificare le modifiche nell'interfaccia utente Web.
Utilizzando il browser, eseguire il login all'interfaccia utente Web.
Nota: se si verifica un errore di login, il tunnel SSH potrebbe essere scaduto. In questo caso, sarà necessario eseguire di nuovo il comando SSH per ristabilire la connessione.
Nel menu di navigazione fare clic su Organizzazioni. Si noti la voce Esempio creata dalla guida.
Esegui un job
Con l'organizzazione creata, ora automatizziamo i passi rimanenti nell'esercitazione Guida introduttiva con alcune modifiche. Uno dei vantaggi di Oracle Linux Automation Engine è l'auto-documentazione.
-
Tornare al terminale in cui è stata creata la guida.
-
Aggiungere la configurazione aggiuntiva alla guida esistente.
cat << EOF | tee -a configure-olam.yaml > /dev/null - name: Add a user awx.awx.user: username: jdoe password: oracle email: jdoe@example.com first_name: John last_name: Doe organization: Example state: present - name: Add an inventory awx.awx.inventory: name: "Demo Inventory" description: "Demo OCI Instances" organization: Example state: present - name: Add a host awx.awx.host: name: localhost description: "Use to run tasks locally" inventory: "Demo Inventory" state: present variables: ansible_connection: local - name: Add a credential awx.awx.credential: name: "Linux Instance" credential_type: Machine organization: Example inputs: username: opc ssh_key_data: "" - name: Add a project awx.awx.project: name: "Hello World" description: "Sample Hello World Project" organization: Example default_environment: "OLAM EE (2.3)" scm_type: "git" scm_update_on_launch: false scm_url: https://github.com/oracle-devrel/linux-virt-labs.git state: present - name: Add a template awx.awx.job_template: name: "Say Hello" job_type: "run" organization: Example inventory: "Demo Inventory" project: "Hello World" playbook: "labs/olam-hello-world.yaml" state: present - name: Launch a job awx.awx.job_launch: job_template: "Say Hello" wait: true register: job - name: Print results from job ansible.builtin.debug: var: job EOF
-
Rieseguire il playbook.
ansible-playbook configure-olam.yaml
Il playbook si conclude con l'ultima riproduzione che mostra lo stato del job come
successful
, insieme a un avviso che è possibile ignorare. -
Verificare il job nell'interfaccia utente Web.
Utilizzando il browser, passare a Job e fare clic sul job Say Hello. L'output visualizza i risultati dell'esecuzione della guida durante il job. Notate i messaggi di benvenuto dal task di debug.
Passi successivi
L'output all'interno dell'interfaccia utente Web conferma di disporre di un Oracle Linux Automation Manager funzionante e di aver scritto un playbook per gestire alcuni dei task più comuni.
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.
Manage Oracle Linux Automation Manager Using the AWX Collection
G32875-02
Copyright ©2024, Oracle and/or its affiliates.