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. Quando completi il tuo laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Gestire gli ambienti di esecuzione in Oracle Linux Automation Manager Private Automation Hub
Introduzione
Private Automation Hub è un repository di Oracle Linux Automation Manager per la gestione di raccolte, immagini di ambienti di esecuzione e altri contenuti curati localmente all'interno dell'infrastruttura di un cliente.
Questa esercitazione mostra come installare Private Automation Hub e caricare un ambiente di esecuzione personalizzato nel relativo registro contenitore. Per i dettagli sulla creazione di ambienti di esecuzione personalizzati, consulta la nostra esercitazione sulla utility Builder.
Obiettivi
In questo tutorial, imparerai come:
- Proteggere le variabili della password con
ansible-vault
- Installare Private Automation Hub utilizzando variabili
- Caricare un ambiente di esecuzione personalizzato nel registro di Private Automation Hub
Prerequisiti
- Due sistemi con Oracle Linux
- Uno per l'installazione di Private Automation Hub
- Un altro per eseguire la utility Builder e agire come client per Private Automation Hub
Implementa Oracle Linux
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 laboratorio.
-
Aprire un terminale sul Luna Desktop.
-
Duplicare 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 di 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" passwordless_ssh: true use_olam_builder: true use_devops_vnc: true add_pah_ports: true olam_type: none 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
-
Implementare 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.
Installare i package di Private Automation Hub
-
Aprire un terminale e connettersi tramite SSH all'istanza ol-pah.
ssh oracle@<ip_address_of_instance>
-
Installare il repository di Oracle Linux Automation Manager.
Oracle Linux 8:
sudo dnf install -y oraclelinux-automation-manager-release-el8
Oracle Linux 9:
sudo dnf install -y oraclelinux-automation-manager-release-el9
-
Installare il package Private Automation Hub.
sudo dnf install -y ol-private-automation-hub-installer
Questo comando installa le playbook e i ruoli di installazione di Private Automation Hub,
ansible-core
,python3.11
e altre dipendenze dei pacchetti.
Installa Private Automation Hub
Quando si installa Private Automation Hub, è necessario impostare le password per l'account utente privilegiato admin
di Private Automation Hub e il relativo database backend. Invece di passare questi al playbook all'aperto, eseguiamo questo passaggio in modo più sicuro utilizzando ansible-vault
.
La utility ansible-vault
, fornita con Oracle Linux Automation Engine, consente la cifratura e la decifrazione di file di dati strutturati, inclusi file di testo, variabili e playbook YAML.
Noi criptiamo un file variabile contenente le nostre due password per i nostri scopi.
-
Copiare il playbook di Private Automation Hub nella directory di lavoro.
cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
-
Passare alla directory di lavoro.
cd ~/single_node
-
Creare un file di inventario.
Il file di inventario per questo playbook richiede il nome host e il nome utente SSH in cui il playbook installerà Private Automation Hub. Il file di inventario viene definito in formato INI o YAML. L'inventario di esempio
hosts.singlenode.example
all'interno del playbook di installazione utilizza YAML, quindi useremo il formato INI qui per dimostrare un'opzione alternativa.tee hosts > /dev/null <<EOF [hub] ol-pah ansible_host=ol-pah ansible_user=oracle EOF
A differenza dell'esempio che utilizza
hub
come alias per ansible_host, questo file di inventario INI utilizzahub
come nome di gruppo. I gruppi consentono la creazione di relazioni padre-figlio tra gli host e li suddividono in una o più categorie per eseguire task o assegnare variabili. -
Creare un vault contenente le variabili della password.
ansible-vault create vault_passwords.yml
Quando si esegue il comando, viene richiesto di creare una password del vault. La utility
ansible-vault
utilizza questa password per decifrare il contenuto del vault e accedere a tali contenuti da un playbook. La password può essere qualsiasi combinazione di caratteri, ma ricordala, in quanto non puoi recuperarla.Una volta immessa e confermata la password, l'utility apre il file
vault_passwords.yml
nell'editor predefinito. Per l'ambiente di laboratorio gratuito, l'editor èvi
. Digitarei
per immettere la modalitàINSERT
e incollare queste variabili di password di esempio di Private Automation Hub.Nota: queste sono le variabili utilizzate dal playbook durante l'installazione di Private Automation Hub e l'impostazione delle password dei superutente e del database.
--- olpah_admin_password: password olpah_db_password: password
Chiudere e salvare il file digitando
ESC
,:wq!
e quindiENTER
. -
Verificare il contenuto del vault.
ansible-vault view vault_passwords.yml
Immettere la password del vault al prompt e
ansible-vault
visualizza il contenuto del vault nel terminale. -
Eseguire il playbook di Private Automation Hub.
ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
-i
definisce il file di inventario-e
definisce qualsiasi variabile di runtime come coppiekey=value
o in un file di variabili--ask-vault-pass
richiede la password del vault
Esistono metodi alternativi per fornire la password del vault, che è possibile consultare nella documentazione a monte.
Nota: l'installazione di Private Automation Hub richiede 10-20 minuti. Durante l'installazione, i progressi del playbook scorrono nel terminale fino al completamento di tutte le attività.
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).
-
Uscire dalla sessione SSH esistente.
exit
-
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.
Connetti a 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'interfaccia utente Web di Private Automation Hub.
Utilizzare il nome utente
admin
e la passwordpassword
. Questa password è il valore impostato perolpah_admin_password
nel file delle variabili di runtime. -
L'interfaccia utente Web viene visualizzata dopo un login riuscito.
Aggiungi ambiente di esecuzione mediante l'interfaccia utente Web
Uno degli elementi gestiti da Private Automation Hub sono gli ambienti di esecuzione. Questa funzione consente a Private Automation Hub di fungere da repository per le immagini dei contenitori, consentendo agli amministratori di interagire con essi utilizzando Podman e l'interfaccia utente Web.
-
Fare clic su Registrazioni remote nell'interfaccia utente Web in Ambienti di esecuzione nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi registro remoto.
-
Immettere i valori riportati di seguito nei campi specifici.
- Nome:
Quay Upstream Registry
- URL:
https://quay.io
- Nome:
-
Fare clic sul pulsante Salva.
Il registro remoto appena creato viene visualizzato nel pannello Registri remoti.
-
Fare clic su Ambienti di esecuzione in Ambienti di esecuzione nel menu di navigazione.
-
Fare clic sul pulsante Aggiungi ambiente di esecuzione.
L'interfaccia utente Web visualizza la finestra di dialogo Aggiungi ambiente di esecuzione. Possiamo estrarre le immagini dei contenitori da upstream o altri registri attraverso questa finestra di dialogo.
-
Immettere o selezionare i valori riportati di seguito nei campi specifici.
- Nome:
upstream/awx-ee
- Nome a monte:
ansible/awx-ee
- Registro: Registro a monte giornaliero
- Aggiungi tag da includere: digitare
latest
e quindiENTER
- Nome:
-
Fare clic sul pulsante Salva.
L'ambiente di esecuzione appena creato viene visualizzato nel pannello Ambienti di esecuzione.
-
Sincronizzare l'ambiente di esecuzione upstream/awx-ee dal registro remoto.
-
Fare clic sul menu a tre punti verticale a destra della voce upstream/awx-ee.
-
Selezionare Sincronizza da registro
Viene visualizzata una finestra di dialogo popup in cui viene indicato che la sincronizzazione è stata avviata.
-
Fare clic sul collegamento Pagina dettagli nella finestra di dialogo popup per visualizzare lo stato di questo task.
-
Il task mostra un'icona Completato.
-
Fare clic su Ambienti di esecuzione in Ambienti di esecuzione nel menu di navigazione.
-
Fare clic sul collegamento a monte/a valle nel pannello Ambienti di esecuzione.
Questo collegamento visualizza le istruzioni per estrarre questa immagine da Private Automation Hub nella scheda Dettagli.
-
Fare clic sulla scheda Immagini.
In questo pannello vengono visualizzati ulteriori dettagli sull'immagine, inclusi i relativi tag, dimensione e sha256 digest.
-
Ambiente di esecuzione push mediante Podman
-
Aprire un terminale e connettersi tramite SSH all'istanza devops-node.
ssh oracle@<ip_address_of_instance>
Questa istanza contiene un'installazione della utility Builder e un ambiente di esecuzione personalizzato predefinito. Per informazioni dettagliate sull'esecuzione di tali task, vedere Creazione di ambienti di esecuzione personalizzati con la utility Builder di Oracle Linux Automation Manager.
-
Passare alla directory di lavoro del progetto.
cd ~/my_custom_ee_project
Questa directory contiene i file di dati della utility Builder, che Podman utilizza per creare l'immagine dell'ambiente di esecuzione personalizzata.
-
Elenca le immagini locali esistenti.
podman images
L'output mostra la nostra immagine personalizzata e le immagini
olam-ee
eolam-builder
predefinite di Oracle Linux Automation Manager. -
Eseguire il login a Private Automation Hub.
podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
-u
è un utente con privilegi per accedere al registro contenitoreol-pah.$(hostname -d)
è il nome FQDN del registro container--tls-verify=0
disattiva la verifica del certificato TLS in quanto l'ambiente di laboratorio gratuito utilizza certificati autofirmati
Il comando richiede un valore
Password:
. Immettere la password corrispondente alle credenziali di login per l'utente di Private Automation Hubadmin
. -
Contrassegnare l'immagine personalizzata locale.
Prima di spostare l'immagine nel registro di Private Automation Hub, creare la struttura e il tag del repository richiesti utilizzando l'immagine locale.
podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
-
Verificare che la nuova immagine contrassegnata esista.
podman images
Output di esempio:
[oracle@devops-node my_custom_ee_project]$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my_custom_ee latest fbc43634b168 5 hours ago 2.29 GB ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image latest fbc43634b168 5 hours ago 2.29 GB <none> <none> 92aa94db3699 5 hours ago 1.4 GB <none> <none> cc087fbfa018 5 hours ago 1.45 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-ee latest 368657c8376d 5 weeks ago 1.25 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-builder latest 5e98580f7956 5 weeks ago 546 MB
-
Caricare l'immagine personalizzata in Private Automation Hub.
Nota: sostituire
<IMAGE ID>
con l'ID immagine effettivo dimy_first_olam_ee_image
dall'outputpodman images
.podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
-
Confermare il caricamento nell'interfaccia utente Web.
-
Passare al browser contenente l'interfaccia utente Web di Private Automation Hub.
-
Passare a Ambienti di esecuzione.
-
Notare il nuovo sito my_first_olam_ee_image.
-
Passi successivi
L'output all'interno dell'interfaccia utente Web conferma la disponibilità di un Private Automation Hub funzionante e la possibilità di caricare e memorizzare le immagini personalizzate. Guarda i nostri altri tutorial che utilizzano Oracle Linux Automation Manager per mettere in pratica le tue competenze.
Collegamenti correlati
- Documentazione di Oracle Linux Automation Manager
- Formazione su Oracle Linux Automation Manager
- Stazione di formazione Oracle Linux
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Manage Execution Environments in Oracle Linux Automation Manager Private Automation Hub
G39665-01
Copyright ©2023, Oracle and/or its affiliates.