Note:

Uso de nodos de salto en Oracle Linux Automation Manager

Introducción

Oracle Linux Automation Manager admite una tecnología de malla de servicios basada en el proyecto de receptor ascendente. La malla de servicio enlaza nodos de controlador, salto y ejecución en una red superpuesta mediante una aplicación de receptor basada en daemon.

Oracle Linux Automation Manager introduce el nodo de salto como parte de la malla de servicios. Este tipo de nodo permite retransmitir tareas de nodos de plano de control a nodos de ejecución en redes remotas o restringidas de la misma manera que SSH utiliza un host de salto. Esta implementación permite que los trabajos se ejecuten en diferentes nodos de ejecución y acerquen las tareas a los sistemas que necesitan automatización.

El siguiente inventario de ejemplo define un despliegue de cluster de varios nodos en el entorno de prácticas libres. Para ayudar a automatizar la instalación del cluster en el hardware, consulte el manual en la sección Oracle Linux Automation Manager del proyecto ansible-playbooks.

Este inventario de ejemplo crea un cluster que consta de dos nodos de plano de control, dos nodos de ejecución, un nodo de salto con un único nodo de ejecución remoto y una base de datos remota.

libro de estrategias-inv

En esta imagen se muestra la topología de malla de servicios para este cluster.

local-remote-exec-config

En este tutorial se muestran varios métodos para comprobar el estado de una malla de servicios y confirmar la comunicación de topología entre los distintos nodos.

Objetivos

En este tutorial, aprenderá a:

Requisitos

Para obtener detalles sobre la instalación de Oracle Linux Automation Manager, consulte la Guía de instalación de Oracle Linux Automation Manager.

Despliegue de instancias 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-control-01"
        type: "control"
      2:
        instance_name: "olam-control-02"
        type: "control"
      3:
        instance_name: "olam-execution-01"
        type: "execution"
      4:
        instance_name: "olam-execution-02"
        type: "execution"       
      5:
        instance_name: "olam-remote-execution-01"
        type: "execution"
      6:
        instance_name: "olam-hop-01"
        type: "execution"
      7:
        instance_name: "olam-db"
        type: "db"
    passwordless_ssh: true
    olam_type: none
    add_cluster_ports: true
    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.

Despliegue del cluster de Oracle Linux Automation Manager

  1. Abra un nuevo terminal.

  2. Asegúrese de estar en el directorio olam del proyecto linux-virt-labs.

  3. Convierta el archivo de inventario básico.

    Este script de conversión crea un archivo de inventario compatible con el cluster a partir del inventario básico generado por el manual de despliegue de la instancia.

    chmod +x convert_ansible_inventory.sh
    ./convert_ansible_inventory.sh hosts > hosts.cluster
    
  4. Ejecute el cuaderno de estrategias de despliegue del cluster.

    ansible-playbook -i hosts.cluster deploy_olam_cluster.yml -e ansible_python_interpreter="/usr/bin/python3.6"
    

Conéctese a WebUI

  1. Abra un terminal y configure un túnel SSH a la instancia olam-control-01 del cluster de Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
    
  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.

    Conexión olam2

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

    olam2-webui

Confirmar grupos de instancias en WebUI

Un grupo de instancias permite agrupar instancias dentro de un cluster según las políticas. Estas políticas determinan el comportamiento del grupo de instancias y la ejecución de los trabajos.

  1. Haga clic en Instance Groups en Administration en el menú de navegación.

    olam2-instance-grp-menu

  2. Revise la página Grupos de instancias.

    olam2-instnace-grp-page

    La página muestra la capacidad según la configuración de la política. Consulte Gestión de grupos de instancias en el capítulo Configuración de recursos de la documentación de la guía del usuario de Oracle Linux Automation Manager para obtener más información sobre esta configuración de políticas.

Visualización de la topología de cluster

  1. Haga clic en Topology View (Vista de topología) en la sección Administration (Administración) del menú de navegación.

    olam2-menú de vista superior

  2. Revise la página Vista de topología.

    olam2-vista superior

    La página muestra un diseño gráfico de la topología del cluster que contiene cada uno de sus nodos. Al desplazarse por los nodos, se muestran flechas de un nodo a otro, lo que indica su asociación de pares.

Mostrar Instancias

Mediante la utilidad awx-manage, un administrador puede configurar y mostrar las instancias asociadas a los grupos de instancias (colas). Un administrador realiza esta acción desde cualquiera de los nodos de plano de control del cluster.

  1. Cambie a la ventana de terminal conectada a la instancia olam-control-01.

  2. Conéctese a la cuenta de usuario de Oracle Linux Automation Manager.

    sudo su -l awx -s /bin/bash
    
  3. Enumere las instancias.

    awx-manage list_instances
    

    Salida de ejemplo:

    [awx@olam-control-01 ~]$ awx-manage list_instances
    [controlplane capacity=594]
    	10.0.0.50 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59"
    	10.0.0.52 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59"
    
    [execution capacity=891]
    	10.0.0.57 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:38"
    	10.0.0.59 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59"
    	10.0.0.61 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59"
    
    [ungrouped capacity=0]
    	10.0.0.53 node_type=hop heartbeat="2025-04-26 17:23:32"
    

    La salida muestra las colas controlplane y execution y cada nodo asociado. Los nodos de salto aparecen en la cola ungrouped porque no están asociados a una cola activa que contiene capacidad.

  4. Desconéctese del usuario de Oracle Linux Automation Manager.

    exit
    

    Esta acción debe devolverle a la cuenta de usuario oracle en la instancia olam-control-01.

Mostrar el estado de Service Mesh

Con la malla de servicio en ejecución, es posible obtener el estado de la malla de servicio y los nodos asociados.

  1. Obtenga el estado de la malla de servicios.

    sudo receptorctl  --socket /var/run/receptor/receptor.sock status
    

    Salida de ejemplo:

    [oracle@olam-control-01 ~]$ sudo receptorctl  --socket /var/run/receptor/receptor.sock status
    Node ID: 10.0.0.50
    Version: 1.4.2
    System CPU Count: 4
    System Memory MiB: 31804
    
    Connection   Cost
    10.0.0.59    1
    10.0.0.61    1
    10.0.0.53    1
    
    Known Node   Known Connections
    10.0.0.50    10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 
    10.0.0.52    10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 
    10.0.0.53    10.0.0.50: 1 10.0.0.52: 1 10.0.0.57: 1 
    10.0.0.57    10.0.0.53: 1 
    10.0.0.59    10.0.0.50: 1 10.0.0.52: 1 
    10.0.0.61    10.0.0.50: 1 10.0.0.52: 1 
    
    Route        Via
    10.0.0.52    10.0.0.53
    10.0.0.53    10.0.0.53
    10.0.0.57    10.0.0.53
    10.0.0.59    10.0.0.59
    10.0.0.61    10.0.0.61
    
    Node         Service   Type       Last Seen             Tags
    10.0.0.50    control   Stream     2025-04-26 17:29:26   {'type': 'Control Service'}
    10.0.0.52    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.61    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.59    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.53    control   Stream     2025-04-26 17:28:32   {'type': 'Control Service'}
    10.0.0.57    control   Stream     2025-04-26 17:28:33   {'type': 'Control Service'}
    
    Node         Work Types
    10.0.0.50    local
    10.0.0.52    local
    10.0.0.61    ansible-runner
    10.0.0.59    ansible-runner
    10.0.0.53    local
    10.0.0.57    ansible-runner
    

    El comando receptorctl es la CLI de frontend que interactúa con la malla de servicio a través de su interfaz de socket de control. La transferencia de --help al comando receptorctl muestra las opciones de la CLI y comandos diferentes.

  2. Ejecute un traceroute desde el nodo de plano de control hasta el nodo de ejecución remoto.

    sudo receptorctl  --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
    

    Salida de ejemplo:

    [oracle@olam-control-01 ~]$ sudo receptorctl  --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
    0: 10.0.0.50 in 282.074µs
    1: 10.0.0.53 in 817.948µs
    2: 10.0.0.57 in 817.226µs
    

    Nota: Si ve caracteres especiales en la salida que no se pueden representar, cambie la codificación de la ventana de terminal a UTF-8 haciendo clic en Terminal > Set Encoding > Unicode en el menú.

    En el ejemplo anterior, la ruta comienza en el primer nodo de plano de control, pasa a través del nodo de salto y aterriza en el nodo de ejecución remoto.

Compruebe el estado de Service Mesh en WebUI

La API de Oracle Linux Automation Manager utiliza una llamada de API rest que permite al administrador ver la información de estado de cada nodo del cluster de malla de servicios.

  1. Cambie a una ventana del explorador en el entorno de prácticas gratuito e introduzca la URL.

    https://localhost:8444/api/login/
    

    Nota: Apruebe la advertencia de seguridad según el explorador utilizado. Haga clic en el botón Advanced (Avanzado) para Chrome y, a continuación, en el enlace Proceed to localhost (unsafe) (Continuar con el host local [no seguro]).

  2. Conéctese a la API de REST de Oracle Linux Automation Manager. Utilice el nombre de usuario admin y la contraseña admin creados durante el despliegue automatizado.

    olam2-restapi-login

  3. La API de REST se muestra después de una conexión correcta.

    olam2-restapi

  4. Haga clic en uno de los hipervínculos /api/v2/ del área de respuesta.

    El clic realiza una solicitud GET y muestra todos los recursos de API disponibles.

  5. Desplácese hasta la parte inferior y haga clic en el enlace mesh_visualizer.

    olam2-mesh-visualizador

  6. Examine la salida.

    Observe los diferentes nodos y su node_type específico. La sección links muestra cómo cada nodo se asocia entre sí en la malla de servicios.

Pasos Siguientes

Las distintas salidas muestran un cluster en ejecución con nodos de salto y ejecución para ejecutar cuadernos de estrategias con Oracle Linux Automation Manager. Ahora, vaya a ejecutar algunos manuales y obtenga práctica adicional consultando nuestros otros tutoriales 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.