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.
Uso di ambienti di esecuzione personalizzati con Oracle Linux Automation Manager
Introduzione
Utilizzando un ambiente di esecuzione personalizzato (ee), Oracle Linux Automation Manager può utilizzare playbook contenenti raccolte e altre risorse non disponibili con l'immagine olam-ee predefinita. Puoi crearlo utilizzando la utility Builder, memorizzarlo su Private Automation Hub e quindi estrarlo in Oracle Linux Automation Manager.
Come funziona tutto questo insieme?
Questa esercitazione descrive come caricare un'immagine predefinita in Private Automation Hub, quindi estrarla in Oracle Linux Automation Manager per eseguire i playbook. Per i dettagli sulla creazione di ambienti di esecuzione personalizzati, vedere la nostra esercitazione sulla utility Builder e questa esercitazione su Private Automation Hub.
Obiettivi
In questo tutorial imparerai come:
- Invia un messaggio personalizzato a Private Automation Hub utilizzando una guida
- Aggiungi un ee personalizzato a Oracle Linux Automation Manager
- Utilizzare l'interfaccia utente personalizzata per eseguire un job
Prerequisiti
- Tre sistemi su cui è in esecuzione Oracle Linux
- Un ambiente di sviluppo che utilizza la utility Builder
- Uno per Private Automation Hub
- Un altro per eseguire 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: "devops-node" type: "server" 2: instance_name: "ol-pah" type: "server" 3: instance_name: "olam-node" type: "control" passwordless_ssh: true use_devops_vnc: true use_olam_builder: true use_olam_pah: 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.
Esegue il push di un ambiente di esecuzione personalizzato nell'hub di Private Automation Hub
Un metodo per eseguire il push di un ee personalizzato nell'hub di Private Automation Hub consiste nell'utilizzare podman dalla riga di comando, come illustrato nell'esercitazione Private Automation Hub. Questa attività può essere eseguita anche utilizzando una guida e la raccolta containers.podman.
-
Aprire un terminale e connettersi tramite SSH all'istanza devops-node.
ssh oracle@<ip_address_of_instance>
-
Installare Oracle Linux Automation Engine.
sudo dnf install ansible-core -y
-
Installare le raccolte richieste.
ansible-galaxy collection install containers.podman
-
Crea il playbook per taggare e spingere l'immagine ee personalizzata.
tee push-image.yml > /dev/null <<EOF --- - hosts: localhost collections: - containers.podman tasks: - name: get domain_name command: hostname -d register: domain_name - name: output domain_name var debug: msg: "{{domain_name.stdout}}" - name: push image to pah containers.podman.podman_image: name: my_custom_ee push: true push_args: dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest username: admin password: password validate_certs: false EOF
-
Eseguire il playbook.
ansible-playbook push-image.yml
La guida viene eseguita su
localhost
e, pertanto, non richiede un file di inventario definito.
Aprire una sessione VNC all'istanza DevOps
La sessione VNC consente di connettersi all'interfaccia utente Web di Private Automation Hub utilizzando il nome host o il nome dominio completamente qualificato (FQDN) nell'ambiente di laboratorio gratuito. L'utilizzo del nome host o del nome FQDN è necessario poiché la protezione integrata di Django protegge l'interfaccia utente Web dagli attacchi CSRF (Cross-Site Request Forgery).
-
Aprire un nuovo terminale e connettersi all'istanza devops-node tramite SSH.
L'opzione
-L
abilita l'inoltro locale, che apre una porta locale per connettersi attraverso un tunnel SSH al server VNC remoto.ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
-
Passare al desktop Luna.
-
Aprire il visualizzatore TigerVNC facendo clic sul menu Applicazioni, su Internet, quindi su TigerVNC Viewer.
-
Eseguire il login all'ambiente GUI del server distribuito immettendo
localhost:5914
nella casella di testo VNC Server e facendo clic sul pulsante Connect. -
Immettere la password dell'utente
oracle
di oracle e fare clic sul pulsante OK. -
Viene visualizzato il desktop della GUI del server con una configurazione per il primo login.
-
Fare clic tre volte sul pulsante Next, quindi sul pulsante Skip e quindi sul pulsante Start Using Oracle Linux Server. Infine, chiudere o ridurre a icona la finestra Introduzione.
Verifica della presenza dell'immagine nell'hub di Private Automation Hub
-
Aprire un browser Web all'interno della sessione VNC e immettere l'URL.
https://ol-pah
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 all'hub di Private Automation Hub WebUI.
Utilizzare il nome utente
admin
e la passwordpassword
. L'ambiente di laboratorio gratuito imposta questo valore di password durante la distribuzione del laboratorio. -
Il valore WebUI viene visualizzato dopo un login riuscito.
-
Fare clic sul menu di navigazione nell'angolo superiore sinistro dell'hub di Private Automation Hub WebUI.
-
Passare agli ambienti di esecuzione e agli ambienti di esecuzione.
-
Si noti che il nuovo my_first_olam_ee_image viene visualizzato nel pannello principale.
Crea un Playbook
Gli amministratori di Oracle Linux Automation Manager possono creare playbook localmente nel file system, che può essere utilizzato da un progetto che utilizza il controllo origine manuale. Utilizzeremo il nodo_devops per scrivere una guida che spinge la nostra guida al progetto su Oracle Linux Automation Manager utilizzando Oracle Linux Automation Engine. Questa configurazione funziona solo su un'installazione con un solo host di Oracle Linux Automation Manager, poiché i playbook esistono solo su tale istanza.
-
Passare o aprire un terminale e connettersi tramite SSH all'istanza devops-node.
-
Creare una directory di progetto e modificarne la directory di lavoro.
mkdir ~/project1 cd ~/project1
-
Creare un modello.
Questo modello è il file playbook che scriveremo nel file system sul server Oracle Linux Automation Manager per recuperare l'elenco delle immagini dei container su un host.
mkdir templates tee templates/list-images.yml.j2 > /dev/null <<EOF --- - hosts: all collections: - containers.podman become: yes tasks: - name: gather info on images containers.podman.podman_image_info: register: podman_list become_user: oracle - name: list images debug: msg: "{{ podman_list.images | selectattr('RepoTags') '}}" EOF
-
Crea una guida per inviare questo progetto a Oracle Linux Automation Manager.
tee push-project.yml > /dev/null <<EOF --- - hosts: olam-node become: yes tasks: - name: create project directory ansible.builtin.file: path: /var/lib/awx/projects/podman state: directory become_user: awx - name: create playbook ansible.builtin.template: src: templates/list-images.yml.j2 dest: /var/lib/awx/projects/podman/list-images.yml become_user: awx EOF
-
Creare un file di inventario.
tee hosts > /dev/null <<EOF [olam] olam-node EOF
-
Copiare la guida nel server Oracle Linux Automation Manager.
ansible-playbook -i hosts push-project.yml
Aggiungi un ambiente di esecuzione personalizzato a Oracle Linux Automation Manager
Eseguire il login a WebUI
-
Aprire un nuovo terminale da Luna Desktop.
-
Configurare un tunnel SSH per Oracle Linux Automation Manager.
ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
Nell'ambiente di laboratorio gratuito, utilizza l'indirizzo IP dell'istanza olam-node.
-
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 Avanzate, quindi sul collegamento Procedi a localhost (non sicuro).
-
Eseguire il login a Oracle Linux Automation Manager WebUI.
Utilizzare il nome utente
admin
e la passwordadmin
. L'ambiente di laboratorio gratuito imposta questo valore di password durante la distribuzione del laboratorio. -
Il valore WebUI viene visualizzato dopo un login riuscito.
Aggiungi credenziale registro contenitore
-
Fare clic su Credenziali in Risorse nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi nel pannello principale.
-
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.
- Nome:
My Private Automation Hub
- Organizzazione:
Default
- Tipo di credenziale: Container di registro
- URL di autenticazione: il nome FQDN per Private Automation Hub
- Nome utente:
admin
- Password o token:
password
- Opzioni: deselezionare Verifica SSL.
Se non si conosce il nome FQDN per l'hub di Private Automation Hub, utilizzare un terminale per connettersi all'istanza ol-pah, quindi eseguire
hostname -f
.Oracle Linux Automation Manager utilizza le credenziali del registro dei container per accedere alle immagini dei container in Private Automation Hub. Per l'ambiente di laboratorio gratuito è necessario deselezionare l'impostazione Verifica SSL a causa dell'uso di certificati autofirmati.
- Nome:
-
Rivedere le voci e fare clic sul pulsante Salva.
Aggiungi un ambiente di esecuzione
-
Fare clic su Ambienti di esecuzione in Amministrazione nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi nel pannello principale.
-
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.
- Nome:
My Custom EE
- Immagine:
<fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
- Credenziali di registro: My Private Automation Hub
- Nome:
-
Rivedere le voci e fare clic sul pulsante Salva.
Test dell'ambiente di esecuzione
Quando si esegue il test dell'ambiente di esecuzione personalizzato, è necessario un modello di job che include un inventario, host, credenziali computer e un progetto.
Aggiungi un magazzino
-
Fare clic su Inventari in Risorse nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi nel pannello principale e selezionare Aggiungi magazzino dall'elenco di valori.
-
Immettere il valore seguente nel campo specifico.
- Nome:
Oracle Linux Hosts
- Nome:
-
Rivedere la voce e fare clic sul pulsante Salva.
Aggiungere un host
-
Fare clic sulla scheda Host nel pannello Dettagli inventario Oracle Linux.
-
Fare clic sul pulsante Aggiungi.
-
Immettere il nome host devops-node nel campo Nome
-
Rivedere la voce e fare clic sul pulsante Salva.
Aggiungi credenziale computer
-
Fare clic su Credenziali in Risorse nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi nel pannello principale.
-
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.
- Nome:
Oracle Linux SSH Access
- Organizzazione:
Default
- Tipo di credenziale: computer
- Nome utente:
oracle
- Chiave privata SSH: selezionare la chiave id_rsa dalla directory ~/.SSH
Un modo per ottenere la chiave privata SSH consiste nel selezionare l'opzione Sfoglia per tale campo. Nella finestra di dialogo Caricamento file, selezionare Home e fare clic con il pulsante destro del mouse sulla finestra principale della finestra di dialogo. Selezionare Mostra file nascosti. Selezionare la cartella .ssh e il file id_rsa. Fare clic sul pulsante Open per copiare i contenuti del file di chiavi private nella finestra di dialogo SSH Private Key.
- Nome:
-
Rivedere le voci, scorrere verso la parte inferiore della pagina e fare clic sul pulsante Salva.
Crea nuovo progetto
-
Fare clic su Progetti in Risorse nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi nel pannello principale.
-
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.
- Nome:
Container Management
- Ambiente di esecuzione: EE personalizzato personale
- Tipo di credenziale di controllo origine: Manuale
- Directory di Playbook: podman
- Nome:
-
Rivedere le voci e fare clic sul pulsante Salva.
Aggiungi un modello di job
-
Fare clic su Modelli in Risorse nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi nel pannello principale e selezionare Aggiungi modello di job dall'elenco di valori.
-
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.
- Nome:
List Images
- Tipo di job: Esegui
- Magazzino: Host Oracle Linux
- Progetto: Gestione container
- Ambiente di esecuzione: EE personalizzato personale
- Playbook: elenco-images.yml
- Credenziali: Accesso SSH a Oracle Linux
- Nome:
-
Rivedere le voci, scorrere verso la parte inferiore della pagina e fare clic sul pulsante Salva.
Esegui il modello
-
Fare clic su Modelli in Risorse nel menu di navigazione.
-
Fare clic sull'icona Avvia modello nella colonna Azioni accanto al modello di job Elenca immagini.
Il job viene avviato e il pannello passa al riepilogo Output job. Dopo alcuni minuti, il job non riesce.
Questo errore si verifica perché la nuova interfaccia utente personalizzata non contiene la raccolta containers.podman, pertanto l'esecuzione della guida non riesce.
Correggere l'ambiente di esecuzione personalizzato
Per correggere il problema personalizzato, è necessario ricreare l'immagine del contenitore utilizzando la utility Builder, quindi inviare la nuova immagine a Private Automation Hub per il ritiro da parte di Oracle Linux Automation Manager.
-
Passare o aprire un terminale e connettersi tramite SSH all'istanza devops-node.
-
Passare alla directory del progetto ee personalizzato.
cd ~/my_custom_ee_project
-
Aggiungere la raccolta mancante al file dei requisiti di Ansible Galaxy.
tee -a requirements.yml > /dev/null <<EOF - name: containers.podman EOF
-
Ricostruisci l'immagine.
ansible-builder build --tag my_custom_ee -v 3
-
Invia la nuova immagine a Private Automation Hub.
cd ~ ansible-playbook push-image.yml
-
Verificare che il push dell'immagine sia riuscito.
Connettersi all'hub di Private Automation Hub WebUI ed esaminare le modifiche apportate all'ambiente di esecuzione, in particolare la colonna Ultima modifica per my_first_olam_ee_image.
Test del nuovo ambiente di esecuzione personalizzato
-
Passare al browser Oracle Linux Automation Manager WebUI.
Aggiornare la finestra del browser ed eseguire di nuovo il login, se necessario.
-
Fare clic su Ambienti di esecuzione in Amministrazione nel menu di navigazione.
-
Fare clic sull'icona Modifica ambiente di esecuzione nella colonna Azioni accanto al collegamento immagine Personalizzato dipendente.
-
Modificare il valore Pull in Pull container sempre prima dell'esecuzione.
Questo campo abilita l'opzione
--pull
perpodman
. La modifica dell'impostazione costringerà Oracle Linux Automation Manager a estrarre l'immagine più recente quando i checksum del livello non corrispondono. -
Rivedere le modifiche e fare clic sul pulsante Salva.
-
Fare clic su Job in Viste nel menu di navigazione.
-
Fare clic sull'icona Rilascia nella colonna Azioni accanto al collegamento ...Elenca immagini.
Selezionare Tutto dall'elenco a discesa dei valori.
Il job viene avviato e il pannello passa al riepilogo Output job. Dopo alcuni minuti, si completa con successo.
Passi successivi
L'output all'interno di WebUI conferma che l'utente dispone di un ambiente di esecuzione personalizzato all'interno di Oracle Linux Automation Manager. Sviluppa le tue competenze e dai un'occhiata alla nostra altra formazione su Oracle Linux Automation Manager su Oracle Linux Training Station.
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 Custom Execution Environments with Oracle Linux Automation Manager
G32009-03
Copyright ©2023, Oracle and/or its affiliates.