Nota

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:

Prerequisiti

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.

  1. Aprire un terminale sul Luna Desktop.

  2. Duplica il progetto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Passare alla directory di lavoro.

    cd linux-virt-labs/olam
    
  4. Installare le raccolte richieste.

    ansible-galaxy collection install -r requirements.yml
    
  5. 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
    
  6. 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

  1. 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.

  2. 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).

  3. Eseguire il login a Oracle Linux Automation Manager con il nome utente admin e la PASSWORD admin creati durante la distribuzione automatica.

    olam-login

  4. Dopo il login viene visualizzato il file WebUI.

    olam-webui

Eseguire l'aggiornamento

  1. Passare al terminale connesso all'istanza olam-node che esegue l'istanza di Oracle Linux Automation Manager.

  2. Arrestare il servizio Oracle Linux Automation Manager.

    sudo systemctl stop ol-automation-manager
    
  3. 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
    
  4. 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
    
  5. Arrestare il servizio di database.

    sudo systemctl stop postgresql
    
  6. 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.

  7. Disinstallare il package di database corrente.

    sudo dnf -y remove postgresql
    
  8. 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
    
  9. 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.

  10. Disabilitare tutti i repository di Oracle Linux Automation Manager.

    sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
    
  11. Aggiornare i pacchetti di Oracle Linux Automation Manager alla Release 2.

    sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
    
  12. Abilitare il repository corrente.

    sudo dnf config-manager --enable ol8_automation2.2
    
  13. 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
    
  14. Installare il database server.

    sudo dnf -y install postgresql-server
    
  15. 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'
    
  16. 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.

  17. 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
    
    
  18. 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.

  19. 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.

  20. 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
    
  21. 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.
  22. Distribuisci Oracle Linux Automation Manager.

    1. Aprire una shell come utente awx.

      sudo su -l awx -s /bin/bash
      
    2. Migra tutti i container esistenti alla versione podman più recente mantenendo in vita gli spazi dei nomi senza privilegi.

      podman system migrate
      
    3. 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
      
    4. 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
      
      
  23. Ripristinare il backup del file delle chiavi segrete.

    sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
    
  24. 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
    
  25. 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   
    
  26. 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
    
  27. Riavviare il database.

    sudo systemctl restart postgresql
    
  28. Riavvia NGINX.

    sudo systemctl restart nginx
    
  29. Avviare Oracle Linux Automation Manager.

    sudo systemctl start ol-automation-manager
    

Verifica dell'aggiornamento

  1. 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.

  2. Eseguire nuovamente il login a Oracle Linux Automation Manager con Nome utente admin e Password admin.

    olam2: login

  3. Dopo il login viene visualizzato il file WebUI.

    olam2-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.

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.