Note:
- Este tutorial está disponible en un entorno de prácticas gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
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:
- Actualización de Oracle Linux Automation Manager
Requisitos
-
Un sistema con una versión anterior de Oracle Linux Automation Manager instalada.
Para obtener detalles sobre la instalación de Oracle Linux Automation Manager, consulte Installing Oracle Linux Automation Manager in Oracle Linux.
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.
-
Abra un terminal en el escritorio Luna.
-
Clone el proyecto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Cambie al directorio de trabajo.
cd linux-virt-labs/olam
-
Instale las recopilaciones necesarias.
ansible-galaxy collection install -r requirements.yml
-
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
-
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
-
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.
-
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).
-
Conéctese a Oracle Linux Automation Manager con USERNAME
admin
y PASSWORDadmin
creados durante el despliegue automatizado. -
Después del inicio de sesión, se muestra WebUI.
Ejecución de la actualización
-
Cambie al terminal conectado a la instancia olam-node que ejecuta la instancia de Oracle Linux Automation Manager.
-
Detenga el servicio Oracle Linux Automation Manager.
sudo systemctl stop ol-automation-manager
-
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
-
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
-
Pare el servicio de la base de datos.
sudo systemctl stop postgresql
-
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.
-
Desinstale el paquete de base de datos actual.
sudo dnf -y remove postgresql
-
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
-
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.
-
Desactive todos los repositorios de Oracle Linux Automation Manager.
sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
-
Actualice los paquetes de Oracle Linux Automation Manager a la versión 2.
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
Active el repositorio actual.
sudo dnf config-manager --enable ol8_automation2.2
-
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
-
Instale el servidor de bases de datos.
sudo dnf -y install postgresql-server
-
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'
-
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. -
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
-
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
. -
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 detower
. 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 estower
, mientras que en la versión 2 esdefault
. -
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
-
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.
-
Despliegue Oracle Linux Automation Manager.
-
Abra un shell como usuario
awx
.sudo su -l awx -s /bin/bash
-
Migre los contenedores existentes a la última versión de podman manteniendo activos los espacios de nombres sin privilegios.
podman system migrate
-
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
-
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
-
-
Restaure la copia de seguridad del archivo de clave secreta.
sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
-
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
-
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
-
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
-
Reinicie la base de datos.
sudo systemctl restart postgresql
-
Reinicie NGINX.
sudo systemctl restart nginx
-
Inicie Oracle Linux Automation Manager.
sudo systemctl start ol-automation-manager
Verifique la actualización
-
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.
-
Vuelva a conectarse a Oracle Linux Automation Manager con el nombre de usuario
admin
y la contraseñaadmin
. -
Después del inicio de sesión, se muestra 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.
Enlaces relacionados
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.