Note:

Actualización de Oracle Linux Automation Manager

Introducción

Los administradores existentes de Oracle Linux Automation Manager están familiarizados con su despliegue de instancia única todo en uno.

Oracle Linux Automation Manager permite a los administradores actualizar sus despliegues existentes y, posteriormente, migrar la instancia actualizada a un despliegue en cluster. Al actualizar, la instancia se convierte en un despliegue de un solo host y se configura como nodo híbrido.

Después de seguir este tutorial, sabrá cómo actualizar Oracle Linux Automation Manager desde una versión anterior.

Objetivos

En este tutorial, aprenderá a:

Requisitos

Despliegue de Oracle Linux Automation Manager

Nota: Si se ejecuta en su propio arrendamiento, lea el proyecto linux-virt-labs GitHub README.md y complete los requisitos antes de desplegar el entorno de prácticas.

  1. Abra un terminal en el escritorio Luna.

  2. Clone el proyecto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Cambie al directorio de trabajo.

    cd linux-virt-labs/olam
    
  4. Instale las recopilaciones necesarias.

    ansible-galaxy collection install -r requirements.yml
    
  5. Actualice la configuración de la instancia de 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. Despliegue el entorno de prácticas.

    ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
    

    El entorno de prácticas gratuito necesita la variable adicional ansible_python_interpreter porque instala el paquete de RPM para el SDK para Python de Oracle Cloud Infrastructure. La ubicación de la instalación de este paquete está en los módulos python3.6.

    La unidad de despliegue por defecto utiliza la CPU AMD y Oracle Linux 8. Para utilizar una CPU de Intel u Oracle Linux 9, agregue -e instance_shape="VM.Standard3.Flex" o -e os_version="9" al comando de despliegue.

    Importante: Espere a que el cuaderno de estrategias se ejecute correctamente y alcance la tarea de pausa. La instalación de Oracle Linux Automation Manager se ha completado en esta etapa del manual y las instancias están listas. Tome nota de la reproducción anterior, que imprime las direcciones IP públicas y privadas de los nodos que despliega.

Conéctese a WebUI

  1. Abra un terminal y configure un túnel SSH a Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
    

    En el entorno de prácticas gratuito, utilice la dirección IP externa de la instancia del nodo olam.

  2. Abra un explorador web e introduzca la URL.

    https://localhost:8444
    

    Nota: Apruebe la advertencia de seguridad según el explorador utilizado. Haga clic en el botón **Avanzado de Chrome y, a continuación, en el enlace Continuar con el host local (no seguro).

  3. Conéctese a Oracle Linux Automation Manager con USERNAME admin y PASSWORD admin creados durante el despliegue automatizado.

    olam-login

  4. Después del inicio de sesión, se muestra WebUI.

    Olam-webui

Ejecución de la actualización

  1. Cambie al terminal conectado a la instancia olam-node que ejecuta la instancia de Oracle Linux Automation Manager.

  2. Detenga el servicio Oracle Linux Automation Manager.

    sudo systemctl stop ol-automation-manager
    
  3. Cree una copia de seguridad de la clave secreta utilizada por Oracle Linux Automation Manager para cifrar secretos de automatización en la base de datos.

    sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
    
  4. Crear una copia de seguridad de la base de datos.

    Este comando vuelca el contenido de la base de datos en un archivo que contiene todos los comandos SQL y datos necesarios para restaurar la base de datos.

    sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
    
  5. Pare el servicio de la base de datos.

    sudo systemctl stop postgresql
    
  6. Elimine los archivos de datos de la base de datos existente.

    sudo rm -rf /var/lib/pgsql/data
    

    Este comando elimina los archivos de datos de la base de datos existente. La base de datos se vuelve a crear más tarde mediante el archivo de volcado.

  7. Desinstale el paquete de base de datos actual.

    sudo dnf -y remove postgresql
    
  8. Active el flujo de módulo para la nueva versión de base de datos.

    Oracle Linux Automation Manager permite el uso de PostgreSQL 12 y 13 al actualizar. En este laboratorio se utiliza la versión 13.

    sudo dnf -y module reset postgresql
    sudo dnf -y module enable postgresql:13
    
  9. Actualice el paquete de repositorio de Oracle Linux Automation Manager.

    sudo dnf -y update oraclelinux-automation-manager-release-el8
    

    Nota: En este paso se informará de que no hay nada que hacer en el entorno de prácticas libres, ya que el despliegue inicial ya ha instalado el último paquete de repositorio para Oracle Linux Automation Manager.

  10. Desactive todos los repositorios de Oracle Linux Automation Manager.

    sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
    
  11. Actualice los paquetes de Oracle Linux Automation Manager a la versión 2.

    sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
    
  12. Active el repositorio actual.

    sudo dnf config-manager --enable ol8_automation2.2
    
  13. Actualice el paquete de Oracle Linux Automation Manager.

    sudo dnf -y update ol-automation-manager
    

    Nota: Los siguientes mensajes esperados se muestran en la salida durante la actualización.

      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. Instale el servidor de bases de datos.

    sudo dnf -y install postgresql-server
    
  15. Inicialice, inicie y restaure la base de datos.

    sudo postgresql-setup --initdb
    sudo systemctl start postgresql
    sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
    
  16. Confirme que la base de datos está disponible.

    sudo su - postgres -c 'psql -l | grep awx'
    

    Salida de ejemplo:

    [oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx'
     awx       | awx      | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
    

    La salida muestra la cuenta awx creada en la base de datos después de realizar la restauración mediante el archivo de volcado.

  17. Sustituya el archivo de configuración global por defecto de Oracle Linux Automation Manager.

    Después de la actualización del paquete de Oracle Linux Automation Manager, el nuevo rpm crea un archivo de configuración por defecto con una extensión de .rpmnew. Este proceso permite a los administradores del sistema comprobar las diferencias de configuración y migrar manualmente los cambios necesarios.

    sudo mv /etc/tower/settings.py /etc/tower/settings.py.save
    sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
    
    
  18. Visualice las diferencias entre los archivos de configuración globales nuevos y antiguos.

    sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
    

    Nota: Cualquier configuración personalizada agregada anteriormente al archivo settings.py se debe definir en WebUI o mover a un archivo en /etc/tower/conf.d.

  19. Cree un archivo de configuración personalizado que contenga la configuración necesaria.

    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
    

    Este comando establece la configuración CLUSTER_HOST_ID en la dirección IP del sistema y los nombres de cola predeterminados en el nombre predeterminado de la versión preactualizada de tower. Los valores introducidos en los archivos de configuración deben seguir el formato de sintaxis de Python.

    Nota: Al actualizar Oracle Linux Automation Manager, el valor CLUSTER_HOST_ID debe coincidir con el valor de la instalación anterior para evitar que los trabajos se paren en un estado pendiente después de la actualización. El nombre de cola predeterminado en la versión 1 es tower, mientras que en la versión 2 es default.

  20. Actualice el archivo de configuración del receptor.

    La malla Receptor es una red superpuesta que crea conexiones peer-to-peer entre controladores y ejecutores para manejar la distribución del trabajo.

    sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
    
  21. Verifique el archivo de configuración del receptor.

    sudo cat /etc/receptor/receptor.conf
    
    • id: es el nombre de host o la dirección IP del sistema Oracle Linux Automation Manager.
    • port: es el puerto de recepción TCP para la malla del receptor, que se define por defecto en el puerto TCP 27199.
  22. Despliegue Oracle Linux Automation Manager.

    1. Abra un shell como usuario awx.

      sudo su -l awx -s /bin/bash
      
    2. Migre los contenedores existentes a la última versión de podman manteniendo activos los espacios de nombres sin privilegios.

      podman system migrate
      
    3. Extraiga el entorno de ejecución de Oracle Linux Automation Engine para Oracle Linux Automation Manager.

      podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
      
    4. Utilice la utilidad awx-manage para configurar la instancia de Oracle Linux Automation Manager.

      awx-manage makemigrations --merge
      awx-manage migrate
      awx-manage register_default_execution_environments
      exit
      
      
  23. Restaure la copia de seguridad del archivo de clave secreta.

    sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
    
  24. Agregue el siguiente parámetro al archivo de configuración de 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. Sustituya la configuración predeterminada para 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. Actualizar los parámetros de ajuste de la base de datos.

    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. Reinicie la base de datos.

    sudo systemctl restart postgresql
    
  28. Reinicie NGINX.

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

    sudo systemctl start ol-automation-manager
    

Verifique la actualización

  1. Refresque la ventana del explorador web utilizada para mostrar el WebUI anterior o abra una nueva ventana del explorador web e introduzca la URL.

    https://localhost:8444
    

    El puerto utilizado en la URL debe coincidir con el puerto local del túnel SSH.

  2. Vuelva a conectarse a Oracle Linux Automation Manager con el nombre de usuario admin y la contraseña admin.

    Conexión olam2

  3. Después del inicio de sesión, se muestra WebUI.

    olam2-webui

Pasos Siguientes

La actualización se ha completado y los trabajos están listos para ejecutarse. Para obtener más información sobre Oracle Linux Automation Manager, consulte la documentación y continúe desarrollando sus habilidades consultando nuestro otro curso de formación sobre Oracle Linux Automation Manager en Oracle Linux Training Station.

Documentación de Oracle Linux Automation Manager
Formación de Oracle Linux Automation Manager
Estación de formación de Oracle Linux

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.