Note:

Gestión de Oracle Linux Automation Manager mediante la recopilación de AWX

Introducción

La recopilación de Ansible de AWX permite a los administradores interactuar con Oracle Linux Automation Manager mediante cuadernos de estrategias. Los módulos incluyen la capacidad de realizar tareas como la administración de usuarios y grupos, la creación de proyectos y la ejecución de trabajos.

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"
    olam_type: single
    EOF
    
  6. 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
    
  7. 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.

Verificación del despliegue de Oracle Linux Automation Manager

  1. Abra un nuevo terminal.

  2. Configure un túnel SSH a la instancia de Oracle Linux Automation Manager.

    ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
    
    • -o ExitOnForwardFailure=yes: espera a que todos los reenvíos de puertos remotos se establezcan correctamente
    • -f: ejecuta el túnel SSH en segundo plano
    • -L: crea el túnel en el puerto 8444 en el sistema local y 443 en el sistema remoto
    • sleep 300: mantiene el túnel remoto abierto durante 5 minutos, esperando una conexión establecida antes de cerrar automáticamente
  3. 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 enlace Proceed to localhost (unsafe).

  4. Conéctese a Oracle Linux Automation Manager con el nombre de usuario admin y la contraseña admin creados durante el despliegue.

    Conexión olam2

  5. Después de iniciar sesión, se muestra la interfaz de usuario web.

    olam2-webui

Creación del archivo de configuración del controlador

La recopilación de Ansible de AWX utiliza un archivo de configuración y, en algunos casos, la CLI de AWX para autenticarse en Oracle Linux Automation Manager. Los parámetros de autenticación se pueden transferir en la línea de comandos mediante la CLI directamente o se pueden escribir en un archivo de configuración.

Al especificar los parámetros de autenticación, la recopilación de Ansible de AWX espera una combinación de:

Hay más detalles disponibles en el proyecto upstream.

  1. Vuelva al terminal donde creó el túnel SSH.

  2. Genere el archivo de configuración.

    cat << EOF | tee ~/.tower_cli.cfg > /dev/null
    [general]
    host: https://localhost:8444
    verify_ssl: false
    username: admin
    password: admin
    use_token = false
    EOF
    
    • host:: define la URL para acceder a la interfaz de usuario web de Oracle Linux Automation Manager
    • verify_ssl:: desactiva la comprobación SSL estricta, ya que el entorno del tutorial utiliza un certificado autofirmado
    • use_token:: aunque se prefiere utilizar un token OAuth2, la configuración en false se desactiva con uno para la autenticación

Crear Organización

Como cubrimos en nuestro tutorial Introducción, una organización se encuentra en la parte superior de la pirámide basada en roles y es una recopilación lógica de usuarios, equipos, proyectos e inventarios.

En lugar de crearlo a través de la interfaz de usuario web, podemos escribir un manual.

  1. Escribe el manual.

    cat << EOF | tee configure-olam.yaml > /dev/null
    ---
    - name: Playbook to set up training demo data using the AWX collection
      hosts: localhost
      gather_facts: false
      collections:
        - awx.awx
    
      tasks:
    
      - name: Create an organization
        awx.awx.organization:
          name: "Example"
          description: "Created using a playbook"
          state: present
    
    EOF
    
  2. Ejecute el manual.

    ansible-playbook configure-olam.yaml
    
  3. Verifique los cambios en la interfaz de usuario web.

    Con el explorador, conéctese a la interfaz de usuario web.

    Nota: Si se produce un fallo de inicio de sesión, puede que el túnel SSH haya caducado. En este caso, deberá volver a ejecutar el comando SSH para restablecer la conexión.

    En el menú de navegación, haga clic en Organizaciones. Observe la entrada Example, que creó el cuaderno de estrategias.

Ejecutar un Trabajo

Con la organización creada, ahora vamos a automatizar los pasos restantes del tutorial Introducción con algunas modificaciones. Una de las ventajas de Oracle Linux Automation Engine es su autodocumentación.

  1. Vuelva al terminal donde creó el manual.

  2. Agregue la configuración adicional a la guía de estrategias existente.

    cat << EOF | tee -a configure-olam.yaml > /dev/null
      - name: Add a user
        awx.awx.user:
          username: jdoe
          password: oracle
          email: jdoe@example.com
          first_name: John
          last_name: Doe
          organization: Example
          state: present
    
      - name: Add an inventory
        awx.awx.inventory:
          name: "Demo Inventory"
          description: "Demo OCI Instances"
          organization: Example
          state: present
    
      - name: Add a host
        awx.awx.host:
          name: localhost
          description: "Use to run tasks locally"
          inventory: "Demo Inventory"
          state: present
          variables:
            ansible_connection: local
    
      - name: Add a credential
        awx.awx.credential:
          name: "Linux Instance"
          credential_type: Machine
          organization: Example
          inputs:
            username: opc
            ssh_key_data: ""
    
      - name: Add a project
        awx.awx.project:
          name: "Hello World"
          description: "Sample Hello World Project"
          organization: Example
          default_environment: "OLAM EE (2.3)"
          scm_type: "git"
          scm_update_on_launch: false
          scm_url: https://github.com/oracle-devrel/linux-virt-labs.git
          state: present
    
      - name: Add a template
        awx.awx.job_template:
          name: "Say Hello"
          job_type: "run"
          organization: Example
          inventory: "Demo Inventory"
          project: "Hello World"
          playbook: "labs/olam-hello-world.yaml"
          state: present
    
      - name: Launch a job
        awx.awx.job_launch:
          job_template: "Say Hello"
          wait: true
        register: job
    
      - name: Print results from job
        ansible.builtin.debug:
          var: job
    
    EOF
    
  3. Vuelva a ejecutar el manual.

    ansible-playbook configure-olam.yaml
    

    El manual concluye con la última reproducción que muestra el estado del trabajo como successful, junto con una advertencia que puede ignorar.

  4. Verifique el trabajo en la interfaz de usuario web.

    Mediante el explorador, vaya a Trabajos y haga clic en el trabajo Dir saludo. La salida muestra los resultados de la ejecución del manual durante el trabajo. Observe los mensajes de bienvenida de la tarea de depuración.

Pasos Siguientes

La salida de la interfaz de usuario web confirma que tiene un Oracle Linux Automation Manager en funcionamiento y que ha escrito un manual para gestionar algunas de las tareas más comunes.

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.