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.
Instalación de Oracle Linux Automation Manager en Oracle Linux
Introducción
Oracle Linux Automation Manager es un motor de tareas y una interfaz gráfica de usuario (GUI) basada en web para programar y ejecutar cuadernos de estrategias de Oracle Linux Automation Engine en inventarios de hosts remotos. Este conjunto de herramientas permite a los administradores gestionar fácilmente su infraestructura de TI y completar tareas repetitivas de una manera conocida y predecible, evitando problemas comunes de administración manual.
Oracle Linux Automation Engine es una herramienta para gestionar y ejecutar tareas de administración mediante una infraestructura basada en código como archivos de definición YAML de código (IaC) denominados cuadernos de estrategias. Estos cuadernos de estrategias incluyen tareas instructivas, como la implementación de software, la configuración de sistemas y la orquestación de actualizaciones y actualizaciones.
Objetivos
En este tutorial, aprenderá a:
- Activar el repositorio DNF de Oracle Linux
- Definir las reglas de firewall
- Descarga, instalación y configuración de Oracle Linux Automation Manager de un solo host
Requisitos
- Un sistema con Oracle Linux instalado.
Desplegar Oracle Linux
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" olam_type: none EOF
-
Cree un archivo de inventario.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Despliegue el entorno de prácticas.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
El entorno de prácticas gratuitas necesita la variable adicional
ansible_python_interpreter
para localhost porque instala el paquete RPM para el SDK para Python de Oracle Cloud Infrastructure. La ubicación para instalar este paquete se encuentra en los módulos de Python por defecto del sistema según la versión de Oracle Linux. El uso de una variable de inventario evita que las reproducciones se ejecuten en hosts que no sean localeshost.La unidad de despliegue por defecto utiliza la CPU de AMD. Puede cambiar la unidad de las instancias transfiriendo una nueva definición de variable de unidad en la línea de comandos.
Por ejemplo:
-e instance_shape="VM.Standard3.Flex"
Del mismo modo, la versión por defecto de la imagen de Oracle Linux utiliza la variable
os_version
definida en el archivo `default_vars.yml. Puede modificar este valor transfiriendo la versión principal de Oracle Linux en la línea de comandos.Por ejemplo:
-e os_version="9"
Importante: Espere a que el cuaderno de estrategias se ejecute correctamente y alcance la tarea de pausa. En esta etapa del manual, se ha completado la instalación de Oracle Linux y las instancias están listas. Observe la reproducción anterior, que imprime las direcciones IP públicas y privadas de los nodos que despliega.
Activación del repositorio DNF de Oracle Linux y definición de reglas de firewall
Active los repositorios de yum y las reglas de firewall necesarios antes de instalar Oracle Linux Automation Manager.
-
Abra un terminal y conéctese mediante ssh al nodo olam-node.
ssh oracle@<ip_address_of_instance>
-
Instale el repositorio de Oracle Linux Automation Manager.
Oracle Linux 8:
sudo dnf -y install oraclelinux-automation-manager-release-el8
Oracle Linux 9:
sudo dnf -y install oraclelinux-automation-manager-release-el9
Este comando activa el repositorio de Oracle Linux Automation Manager más reciente como valor predeterminado para instalar los paquetes del producto.
-
Agregue los servicios HTTP/HTTPS a las reglas de firewall.
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
Instalación de una base de datos PostgreSQL local
-
Activar el flujo de módulo.
sudo dnf module reset postgresql sudo dnf -y module enable postgresql:16
-
Instale la base de datos.
sudo dnf -y install postgresql-server
-
Inicialice la base de datos.
sudo postgresql-setup --initdb
-
Cambie el mecanismo de almacenamiento de contraseñas a scram-sha-256.
sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
-
Active e inicie la base de datos.
sudo systemctl enable --now postgresql
-
Cree las cuentas de usuario de base de datos.
Importante: para este entorno de prácticas gratuito, utilice la contraseña
password
en el indicador. Esta contraseña no es segura y solo usamos esta contraseña para fines de demostración en este entorno.sudo su - postgres -c "createuser -S -P awx"
-
Cree la base de datos.
sudo su - postgres -c "createdb -O awx awx"
-
Actualice el archivo de autenticación basada en host.
echo "host all all 0.0.0.0/0 scram-sha-256" | sudo tee -a /var/lib/pgsql/data/pg_hba.conf > /dev/null
-
Actualice la dirección IP del listener de base de datos.
sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
-
Actualice los requisitos de memoria de la base de datos.
Estos cálculos aprovechan la memoria total del sistema en megabytes y reemplazan los valores por defecto en el archivo de configuración PostgreSQL.
export TOTAL_MEMORY="$(free --mega | awk 'FNR == 2 {print $2}')" sudo sed -i 's/max_connections = 100/max_connections = 1024/g' /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^shared_buffers =/c\shared_buffers = $( echo "($TOTAL_MEMORY*0.3)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#work_mem =/c\work_mem = $( echo "($TOTAL_MEMORY*0.03)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#maintenance_work_mem =/c\maintenance_work_mem = $( echo "($TOTAL_MEMORY*0.04)/1" | bc )MB" /var/lib/pgsql/data/postgresql.conf
-
Reinicie la base de datos.
sudo systemctl restart postgresql
Instalación y configuración de Oracle Linux Automation Manager
-
Instale el paquete de Oracle Linux Automation Manager y cualquier dependencia.
sudo dnf -y install ol-automation-manager
-
Actualice el archivo de configuración de Redis.
Oracle Linux 8:
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis.conf
Oracle Linux 9:
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis/redis.conf
-
Agregue CLUSTER_HOST_ID a un archivo de configuración personalizado.
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' EOF
Nota: El uso de
$(hostname -i)
no funciona para sistemas con IPv6 activado debido a espacios existentes en la salida. En su lugar, utilice el nombre de host del sistema, que es posible mediante$(hostname -f)
, o cualquier otra cadena sin espacios. -
Actualice los permisos en el archivo de configuración personalizado.
sudo chown awx.awx /etc/tower/conf.d/olam.py sudo chmod 0640 /etc/tower/conf.d/olam.py
-
Agregue valores de base de datos a un archivo de configuración personalizado.
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'awx.main.db.profiled_pg', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': 'password', 'HOST': '$(hostname -i)', 'PORT': '5432', } } EOF
-
Active la persistencia.
Oracle Linux 9:
sudo loginctl enable-linger awx
Este mensaje se resuelve cuando se ejecuta en un sistema sin cabecera:
ADVERTENCIA[0000] El gestor cgroupv2 está definido en systemd pero no hay ninguna sesión de usuario systemd disponible. ADVERTENCIA[0000] Para utilizar systemd, puede que tenga que iniciar sesión con una sesión de usuario. ADVERTENCIA[0000] También puede activar la persistencia con:
loginctl enable-linger 986
(posiblemente como root) ADVERTENCIA[0000] Volviendo a -cgroup-manager=cgroupfs
WARN[0000] El gestor cgroupv2 está establecido en systemd pero no hay ninguna sesión de usuario systemd disponible WARN[0000] Para utilizar systemd, puede que tenga que iniciar sesión con una sesión de usuario WARN[0000] También puede activar la persistencia con:loginctl enable-linger 986
(posiblemente como root) WARN[0000] Volviendo a –cgroup-manager=cgroupfs -
Extraiga la imagen de contenedor de Oracle Linux Automation Manager.
Oracle Linux 8:
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8
Oracle Linux 9:
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol9
-
Cree el esquema de Oracle Linux Automation Manager y la cuenta de usuario administrador.
awx-manage migrate awx-manage createsuperuser --username admin --email admin@example.com
Nota: En el ejemplo anterior,
admin@example.com
es una dirección de correo electrónico de ejemplo del usuario administrador. -
Introduzca y confirme la contraseña del usuario administrador.
-
Salga del shell de usuario de awx.
exit
-
Genere un certificado SSL para NGINX.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/tower/tower.key -out /etc/tower/tower.crt
Introduzca la información solicitada o simplemente pulse la clave
ENTER
. -
Sustituya la configuración predeterminada de 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
-
Actualice el archivo de configuración del receptor.
cat << EOF | sudo tee /etc/receptor/receptor.conf > /dev/null --- - node: id: $(hostname -i) - log-level: debug - tcp-listener: port: 27199 - control-service: service: control filename: /var/run/receptor/receptor.sock - work-command: worktype: local command: /var/lib/ol-automation-manager/venv/awx/bin/ansible-runner params: worker allowruntimeparams: true verifysignature: false EOF
-
Aprovisione una instancia y registre entornos de ejecución.
sudo su -l awx -s /bin/bash
awx-manage provision_instance --hostname=$(hostname -i) --node_type=hybrid
awx-manage register_default_execution_environments
awx-manage register_queue --queuename=default --hostnames=$(hostname -i)
awx-manage register_queue --queuename=controlplane --hostnames=$(hostname -i)
awx-manage create_preload_data
exit
-
Inicie el servicio.
sudo systemctl enable --now ol-automation-manager.service
-
Realiza la desconexión del servidor.
exit
Verifique la instalación
-
Con la misma ventana de terminal, configure un túnel SSH.
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
Nota: En el ejemplo anterior,
<ip_address_of_instance>
es el nombre de host o la dirección IP del sistema que ejecuta Oracle Linux Automation Manager. Si utiliza el nombre de host, el host debe poder resolverse. -
Abra un explorador web e introduzca la URL.
https://localhost:8444
Nota: Apruebe la advertencia de seguridad según el explorador utilizado. Para Chrome, haga clic en el botón
Advanced
y, a continuación, en el enlaceProceed to localhost (unsafe)
. -
Inicie sesión en Oracle Linux Automation Manager con el nombre de usuario
admin
y la contraseña creados durante la configuración.
Pasos Siguientes
Con Oracle Linux Automation Manager instalado, puede empezar a explorar la interfaz de usuario web y las distintas funciones del producto para ayudar a automatizar su infraestructura. Consulte nuestra formación adicional sobre Oracle Linux Training Station para ampliar sus conocimientos y obtener ideas.
Enlaces relacionados
- Documentación de Oracle Linux Automation Manager
- Formación sobre Oracle Linux Automation Manager
- Oracle Linux Training Station
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.
Install Oracle Linux Automation Manager on Oracle Linux
F52958-05
Copyright ©2021, Oracle and/or its affiliates.