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.
Aggiorna Oracle Linux Automation Manager
Introduzione
Gli amministratori esistenti di Oracle Linux Automation Manager hanno dimestichezza con la distribuzione a istanza singola all-in-one.
Oracle Linux Automation Manager consente agli amministratori di aggiornare le distribuzioni esistenti e successivamente di eseguire la migrazione dell'istanza aggiornata in una distribuzione in cluster. Durante l'aggiornamento, l'istanza viene convertita in una distribuzione con un singolo host e si configura come nodo ibrido.
Dopo aver seguito questa esercitazione, saprai come aggiornare Oracle Linux Automation Manager da una release precedente.
Obiettivi
In questo tutorial imparerai come:
- Aggiorna Oracle Linux Automation Manager
Prerequisiti
-
Sistema con una release precedente di Oracle Linux Automation Manager installato.
Per i dettagli sull'installazione di Oracle Linux Automation Manager, vedere Installing Oracle Linux Automation Manager on Oracle Linux.
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" passwordless_ssh: true olam_type: v1 EOF
-
Implementa l'ambiente di laboratorio.
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
L'ambiente di laboratorio gratuito richiede la variabile aggiuntiva
ansible_python_interpreter
perché installa il pacchetto RPM per l'SDK Oracle Cloud Infrastructure per Python. La posizione dell'installazione di questo pacchetto si trova sotto i moduli python3.6.La forma di distribuzione predefinita utilizza la CPU AMD e Oracle Linux 8. Per utilizzare una CPU Intel o Oracle Linux 9, aggiungere
-e instance_shape="VM.Standard3.Flex"
o-e os_version="9"
al comando di distribuzione.Importante: attendere la corretta esecuzione della guida e raggiungere il task di sospensione. L'installazione di Oracle Linux Automation Manager è stata completata in questa fase del playbook e le istanze sono pronte. Prendi nota della riproduzione precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce.
Eseguire il login a WebUI
-
Aprire un terminale e configurare un tunnel SSH per Oracle Linux Automation Manager.
ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
Nell'ambiente di laboratorio gratuito, utilizzare l'indirizzo IP esterno 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. Fare clic sul pulsante **Avanzate per Chrome, quindi sul collegamento Passa a localhost (non sicuro).
-
Eseguire il login a Oracle Linux Automation Manager con il nome utente
admin
e la PASSWORDadmin
creati durante la distribuzione automatica. -
Dopo il login viene visualizzato il file WebUI.
Eseguire l'aggiornamento
-
Passare al terminale connesso all'istanza olam-node che esegue l'istanza di Oracle Linux Automation Manager.
-
Arrestare il servizio Oracle Linux Automation Manager.
sudo systemctl stop ol-automation-manager
-
Crea un backup della chiave segreta utilizzata da Oracle Linux Automation Manager per cifrare i segreti di automazione nel database.
sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
-
Creare un backup del database.
Questo comando esegue il dump del contenuto del database in un file contenente tutti i comandi e i dati SQL necessari per ripristinare il database.
sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
-
Arrestare il servizio di database.
sudo systemctl stop postgresql
-
Rimuovere i file di dati del database esistenti.
sudo rm -rf /var/lib/pgsql/data
Questo comando rimuove i file di dati del database esistenti. Il database viene ricreato in seguito utilizzando il file di dump.
-
Disinstallare il package di database corrente.
sudo dnf -y remove postgresql
-
Abilitare il flusso di moduli per la nuova versione del database.
Oracle Linux Automation Manager consente di utilizzare PostgreSQL 12 e 13 durante l'aggiornamento. Questo laboratorio utilizza la versione 13.
sudo dnf -y module reset postgresql sudo dnf -y module enable postgresql:13
-
Aggiornare il pacchetto del repository di Oracle Linux Automation Manager.
sudo dnf -y update oraclelinux-automation-manager-release-el8
Nota: in questo passo viene segnalato che non c'è nulla da fare nell'ambiente di laboratorio gratuito poiché la distribuzione iniziale ha già installato il package di repository più recente per Oracle Linux Automation Manager.
-
Disabilitare tutti i repository di Oracle Linux Automation Manager.
sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
-
Aggiornare i pacchetti di Oracle Linux Automation Manager alla Release 2.
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
Abilitare il repository corrente.
sudo dnf config-manager --enable ol8_automation2.2
-
Aggiornare il pacchetto Oracle Linux Automation Manager.
sudo dnf -y update ol-automation-manager
Nota: durante l'aggiornamento vengono visualizzati nell'output i seguenti messaggi previsti.
Upgrading : ol-automation-manager-2.1.0-10.el8.x86_64 26/28 warning: /etc/tower/settings.py created as /etc/tower/settings.py.rpmnew Running scriptlet: ol-automation-manager-2.1.0-10.el8.x86_64 26/28 ValueError: File context for /var/run/tower(/.*)? already defined
-
Installare il database server.
sudo dnf -y install postgresql-server
-
Inizializzare, quindi avviare e ripristinare il database.
sudo postgresql-setup --initdb sudo systemctl start postgresql sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
-
Verificare che il database sia disponibile.
sudo su - postgres -c 'psql -l | grep awx'
Output di esempio:
[oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx' awx | awx | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
L'output visualizza l'account
awx
creato nel database dopo aver eseguito il ripristino utilizzando il file di dump. -
Sostituire il file delle impostazioni globali predefinito di Oracle Linux Automation Manager.
Dopo l'aggiornamento del pacchetto Oracle Linux Automation Manager, il nuovo rpm crea un file di configurazione predefinito con estensione
.rpmnew
. Questo processo consente agli amministratori di sistema di controllare le differenze di configurazione e di eseguire manualmente la migrazione delle modifiche necessarie.sudo mv /etc/tower/settings.py /etc/tower/settings.py.save sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
-
Visualizzare le differenze tra il nuovo e il vecchio file delle impostazioni globali.
sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
Nota: qualsiasi impostazione personalizzata aggiunta in precedenza al file
settings.py
deve essere impostata nel file WebUI o spostata in un file in/etc/tower/conf.d
. -
Creare un file di impostazioni personalizzato contenente le impostazioni richieste.
cat << EOF | sudo tee /etc/tower/conf.d/olamv2.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' DEFAULT_EXECUTION_QUEUE_NAME = 'tower' DEFAULT_CONTROL_PLANE_QUEUE_NAME = 'tower' EOF
Questo comando imposta l'impostazione
CLUSTER_HOST_ID
sull'indirizzo IP del sistema e i nomi delle code predefinite sul nome predefinito della versione pre-aggiornata,tower
. I valori immessi nei file di configurazione devono seguire il formato di sintassi Python.Nota: quando si aggiorna Oracle Linux Automation Manager, il valore
CLUSTER_HOST_ID
deve corrispondere al valore dell'installazione precedente per evitare che i job rimangano bloccati in uno stato in sospeso dopo l'aggiornamento. Il nome di coda predefinito nella Release 1 ètower
, mentre nella Release 2 èdefault
. -
Aggiornare il file di configurazione del ricevitore.
La rete Receptor è una rete di overlay che crea connessioni peer-to-peer tra controller ed esecutori per gestire la distribuzione del lavoro.
sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
-
Verificare il file di configurazione del destinatario.
sudo cat /etc/receptor/receptor.conf
id:
è il nome host o l'indirizzo IP del sistema Oracle Linux Automation Manager.port:
è la porta di ascolto TCP per la mesh Receptor, che per impostazione predefinita è la porta TCP 27199.
-
Distribuisci Oracle Linux Automation Manager.
-
Aprire una shell come utente
awx
.sudo su -l awx -s /bin/bash
-
Migra tutti i container esistenti alla versione podman più recente mantenendo in vita gli spazi dei nomi senza privilegi.
podman system migrate
-
Estrarre l'ambiente di esecuzione di Oracle Linux Automation Engine per Oracle Linux Automation Manager.
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
-
Utilizzare la utility
awx-manage
per impostare l'istanza di Oracle Linux Automation Manager.awx-manage makemigrations --merge awx-manage migrate awx-manage register_default_execution_environments exit
-
-
Ripristinare il backup del file delle chiavi segrete.
sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
-
Aggiungere il seguente parametro al file delle impostazioni di Oracle Linux Automation Manager.
cat << EOF | sudo tee -a /etc/tower/conf.d/olamv2.py > /dev/null # OLAM Reaper Job Status Tracking REAPER_TIMEOUT_SEC = 60 EOF
-
Sostituire la configurazione predefinita per NGINX.
cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } EOF
-
Aggiornare i parametri di tuning del database.
sudo sed -i 's/max_connections = [0-9]\+/max_connections = 1024/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/shared_buffers = [0-9]\+MB/shared_buffers = 5400MB/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(work_mem = \)[0-9]\+MB/\1'540MB/ /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(maintenance_work_mem = \)[0-9]\+MB/\1'720MB/ /var/lib/pgsql/data/postgresql.conf
-
Riavviare il database.
sudo systemctl restart postgresql
-
Riavvia NGINX.
sudo systemctl restart nginx
-
Avviare Oracle Linux Automation Manager.
sudo systemctl start ol-automation-manager
Verifica dell'aggiornamento
-
Aggiornare la finestra del browser Web utilizzata per visualizzare il precedente WebUI oppure aprire una nuova finestra del browser Web e immettere l'URL.
https://localhost:8444
La porta utilizzata nell'URL deve corrispondere alla porta locale del tunnel SSH.
-
Eseguire nuovamente il login a Oracle Linux Automation Manager con Nome utente
admin
e Passwordadmin
. -
Dopo il login viene visualizzato il file WebUI.
Passi successivi
L'aggiornamento è stato completato e i job sono pronti per essere eseguiti. Per ulteriori informazioni su Oracle Linux Automation Manager, consulta la documentazione e continua a sviluppare le tue competenze consultando la nostra altra formazione su Oracle Linux Automation Manager su Oracle Linux Training Station.
Collegamenti correlati
Documentazione su Oracle Linux Automation Manager
Formazione su Oracle Linux Automation Manager
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.