Note:

Uso de entornos de ejecución personalizados con Oracle Linux Automation Manager

Introducción

Mediante un entorno de ejecución personalizado (ee), Oracle Linux Automation Manager puede aprovechar los cuadernos de estrategias que contienen recopilaciones y otros recursos no disponibles con la imagen olam-ee por defecto. Lo crea mediante la utilidad Builder, lo almacena en Private Automation Hub y, a continuación, lo extrae a Oracle Linux Automation Manager.

¿Cómo funciona todo esto juntos?

En este tutorial se muestra cómo cargar una imagen predefinida en Private Automation Hub y, a continuación, extraerla a Oracle Linux Automation Manager para ejecutar cuadernos de estrategias. Para obtener más información sobre la creación de entornos de ejecución personalizados, consulte nuestro tutorial en la utilidad Builder y este tutorial en Private Automation Hub.

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: "devops-node"
        type: "server"
      2:
        instance_name: "ol-pah"
        type: "server"
      3:
        instance_name: "olam-node"
        type: "control"
    passwordless_ssh: true
    use_devops_vnc: true
    use_olam_builder: true
    use_olam_pah: true
    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.

Transferencia de un entorno de ejecución personalizado al hub de Private Automation Hub

Un método para transferir una entrada personalizada al hub de Private Automation Hub es utilizar podman desde la línea de comandos, como se muestra en el tutorial de Private Automation Hub. También es posible realizar esta tarea mediante un manual y la recopilación containers.podman.

  1. Abra un terminal y conéctese mediante SSH a la instancia devops-node.

    ssh oracle@<ip_address_of_instance>
    
  2. Instale Oracle Linux Automation Engine.

    sudo dnf install ansible-core -y
    
  3. Instale las recopilaciones necesarias.

    ansible-galaxy collection install containers.podman
    
  4. Cree el cuaderno de estrategias para etiquetar y transferir la imagen electrónica personalizada.

       
    tee push-image.yml > /dev/null <<EOF
    ---
    - hosts: localhost
      collections:
        - containers.podman
    
      tasks:
    
      - name: get domain_name
        command: hostname -d
        register: domain_name
    
      - name: output domain_name var
        debug:
          msg: "{{domain_name.stdout}}"
    
      - name: push image to pah
        containers.podman.podman_image:
          name: my_custom_ee
          push: true
          push_args:
            dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest
          username: admin
          password: password
          validate_certs: false
       
    EOF
    
  5. Ejecute el manual.

    ansible-playbook push-image.yml
    

    El manual se ejecuta en localhost y, por lo tanto, no necesita un archivo de inventario definido.

Abrir una sesión de VNC en la instancia DevOps

La sesión de VNC le permite conectarse a la interfaz de usuario web de Private Automation Hub mediante el nombre de host o el nombre de dominio completo (FQDN) en el entorno de prácticas gratuitas. Se requiere el uso del nombre de host o el FQDN, ya que la protección integrada de Django protege la interfaz de usuario web contra ataques de falsificación de solicitudes entre sitios (CSRF).

  1. Abra un nuevo terminal y conéctese a la instancia de devops-node mediante SSH.

    La opción -L permite el reenvío local, que abre un puerto local para conectarse a través de un túnel SSH al servidor VNC remoto.

    ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
    
  2. Cambie al escritorio Luna.

  3. Abra el visor TigerVNC haciendo clic en el menú Aplicaciones, Internet y, a continuación, en TigerVNC Viewer.

    menú de vnc

  4. Inicie sesión en el entorno de la GUI del servidor desplegado introduciendo localhost:5914 en el cuadro de texto VNC Server (Servidor VNC) y pulsando el botón Connect (Conectar).

    vnc-login

  5. Introduzca la contraseña del usuario oracle de oracle y pulse el botón OK (Aceptar).

    vnc-pwd

  6. El escritorio de la GUI del servidor se muestra con una configuración de inicio de sesión por primera vez.

    gui-bienvenido

  7. Press the Next button three times, then the Skip button, followed by the Start Using Oracle Linux Server button. Por último, cierre o minimice la ventana Introducción.

    inicio-uso-ol

Verificación de que la imagen existe en Private Automation Hub

  1. Abra un explorador web dentro de la sesión de VNC e introduzca la URL.

    https://ol-pah
    

    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).

  2. Conéctese al hub de Private Automation Hub WebUI.

    Utilice el nombre de usuario admin y la contraseña password. El entorno de prácticas gratuito define este valor de contraseña durante el despliegue de prácticas.

    pah-login

  3. WebUI se muestra después de una conexión correcta.

    pah-webui

  4. Haga clic en el menú de navegación de la esquina superior izquierda del hub de Private Automation Hub WebUI.

  5. Vaya a Entornos de ejecución y Entornos de ejecución.

  6. Observe que se muestra la nueva my_first_olam_ee_image en el panel principal.

    pah-ee-2

Crear un cuaderno de estrategias

Los administradores de Oracle Linux Automation Manager pueden crear cuadernos de estrategias localmente en el sistema de archivos, que puede aprovechar un proyecto mediante el control manual de origen. Utilizaremos devops-node para escribir un manual que traslade nuestro manual de proyectos a Oracle Linux Automation Manager mediante Oracle Linux Automation Engine. Esta configuración solo funciona en una instalación de un solo host de Oracle Linux Automation Manager, ya que los cuadernos de estrategias solo existen en esa instancia.

  1. Cambie a un terminal o ábralo y conéctese mediante SSH a la instancia devops-node.

  2. Cree un directorio de proyecto y cámbielo a él.

    mkdir ~/project1
    cd ~/project1
    
  3. Crear una plantilla.

    Esta plantilla es el archivo del cuaderno de estrategias que escribiremos en el sistema de archivos del servidor de Oracle Linux Automation Manager para recuperar la lista de imágenes de contenedor en un host.

    mkdir templates
    tee templates/list-images.yml.j2 > /dev/null <<EOF
    ---
    - hosts: all
      collections:
        - containers.podman
      become: yes
    
      tasks:
    
      - name: gather info on images
        containers.podman.podman_image_info:
        register: podman_list
        become_user: oracle
    
      - name: list images
        debug:
          msg: "{{ podman_list.images | selectattr('RepoTags') '}}"
    EOF
    
  4. Cree un manual para transferir este proyecto a Oracle Linux Automation Manager.

       
    tee push-project.yml > /dev/null <<EOF
    ---
    - hosts: olam-node
      become: yes
    
      tasks:
    
      - name: create project directory
        ansible.builtin.file:
          path: /var/lib/awx/projects/podman
          state: directory
        become_user: awx
    
      - name: create playbook
        ansible.builtin.template:
          src: templates/list-images.yml.j2
          dest: /var/lib/awx/projects/podman/list-images.yml
        become_user: awx      
       
    EOF
    
  5. Cree un archivo de inventario.

    tee hosts > /dev/null <<EOF
    [olam]
    olam-node
    EOF
    
  6. Copie el cuaderno de estrategias en el servidor de Oracle Linux Automation Manager.

    ansible-playbook -i hosts push-project.yml
    

Adición de un entorno de ejecución personalizado a Oracle Linux Automation Manager

Conéctese a WebUI

  1. Abra un nuevo terminal desde Luna Desktop.

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

    ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
    

    En el entorno de prácticas libres, utilice la dirección IP de la instancia olam-node.

  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 (Avanzado) y, a continuación, en el enlace Proceed to localhost (unsafe) (Continuar con el host local [no seguro]).

  4. Conéctese a Oracle Linux Automation Manager WebUI.

    Utilice el nombre de usuario admin y la contraseña admin. El entorno de prácticas gratuito define este valor de contraseña durante el despliegue de prácticas.

    Conexión olam2

  5. WebUI se muestra después de una conexión correcta.

    olam2-webui

Adición de una credencial de Container Registry

  1. Haga clic en Credenciales en Recursos en el menú de navegación.

  2. Haga clic en el botón Add (Agregar) en el panel principal.

  3. Introduzca o seleccione los siguientes valores en los campos específicos.

    Para los campos con una búsqueda o lista de valores, podemos comenzar a escribir el valor solicitado y luego seleccionarlo.

    • Name: My Private Automation Hub
    • Organización: Default
    • Tipo de credencial: Container Registry
    • URL de autenticación: FQDN para el hub de Private Automation Hub
    • Nombre de usuario: admin
    • Password o Token: password
    • Opciones: desactive Verificar SSL

    Si no conoce el FQDN para Private Automation Hub, utilice un terminal para conectarse a la instancia ol-pah y, a continuación, ejecute hostname -f.

    Oracle Linux Automation Manager utiliza las credenciales de Container Registry para acceder a las imágenes de contenedor en Private Automation Hub. El entorno de prácticas gratuitas requiere desactivar la configuración de Verify SSL debido a su uso de certificados autofirmados.

  4. Revise las entradas y haga clic en el botón Save (Guardar).

    olam2-cred-registry

Agregar un entorno de ejecución

  1. Haga clic en Execution Environments (Entornos de ejecución) en Administration (Administración) en el menú de navegación.

  2. Haga clic en el botón Add (Agregar) en el panel principal.

  3. Introduzca o seleccione los siguientes valores en los campos específicos.

    Para los campos con una búsqueda o lista de valores, podemos comenzar a escribir el valor solicitado y luego seleccionarlo.

    • Name: My Custom EE
    • Imagen: <fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
    • Credencial de registro: My Private Automation Hub
  4. Revise las entradas y haga clic en el botón Save (Guardar).

    olam2-personalizado-personalizado

Prueba del Entorno de Ejecución

Al probar el entorno de ejecución personalizado, se necesita una plantilla de trabajo, que incluye un inventario, hosts, credenciales de máquina y un proyecto.

Agregar un inventario

  1. Haga clic en Inventarios en Recursos en el menú de navegación.

  2. Haga clic en el botón Agregar del panel principal y seleccione Agregar inventario en la lista de valores.

  3. Introduzca el siguiente valor en el campo específico.

    • Name: Oracle Linux Hosts
  4. Revise la entrada y haga clic en el botón Guardar.

    olam2-inv-detalle

Agregue un host

  1. Haga clic en el separador Hosts del panel Detalles de inventario de hosts de Oracle Linux.

  2. Haga clic en el botón Agregar.

  3. Introduzca el nombre de host devops-node en el campo Name (Nombre).

  4. Revise la entrada y haga clic en el botón Guardar.

Adición de una credencial de máquina

  1. Haga clic en Credenciales en Recursos en el menú de navegación.

  2. Haga clic en el botón Add (Agregar) en el panel principal.

  3. Introduzca o seleccione los siguientes valores en los campos específicos.

    Para los campos con una búsqueda o lista de valores, podemos comenzar a escribir el valor solicitado y luego seleccionarlo.

    • Name: Oracle Linux SSH Access
    • Organización: Default
    • Tipo de credencial: Máquina
    • Username: oracle
    • Clave privada SSH: seleccione la clave id_rsa del directorio ~/.SSH

    Una forma de capturar la clave privada SSH es seleccionar la opción Examinar para ese campo. En el cuadro de diálogo Carga de archivo, seleccione Inicio y haga clic con el botón derecho en la ventana principal de ese cuadro de diálogo. Seleccione Show Hidden Files. Seleccione la carpeta .ssh y el archivo id_rsa. Al hacer clic en el botón Open (Abrir), el contenido del archivo de clave privada se copia en el cuadro de diálogo SSH Private Key (Clave privada SSH).

  4. Revise las entradas, desplácese a la parte inferior de la página y haga clic en el botón Guardar.

    olam2-cred-machine

Crear un Nuevo Proyecto

  1. Haga clic en Projects en Resources en el menú de navegación.

  2. Haga clic en el botón Add (Agregar) en el panel principal.

  3. Introduzca o seleccione los siguientes valores en los campos específicos.

    Para los campos con una búsqueda o lista de valores, podemos comenzar a escribir el valor solicitado y luego seleccionarlo.

    • Name: Container Management
    • Entorno de ejecución: Mi EE personalizado
    • Source Control Credential Type (Tipo de credencial de control de origen): Manual
    • Directorio de Playbook: podman
  4. Revise las entradas y haga clic en el botón Save (Guardar).

    olam2-proj-detail

Agregar una plantilla de trabajo

  1. Haga clic en Templates (Plantillas) en Resources, en el menú de navegación.

  2. Haga clic en el botón Agregar del panel principal y seleccione Agregar plantilla de trabajo en la lista de valores.

  3. Introduzca o seleccione los siguientes valores en los campos específicos.

    Para los campos con una búsqueda o lista de valores, podemos comenzar a escribir el valor solicitado y luego seleccionarlo.

    • Name: List Images
    • Tipo de trabajo: Ejecutar
    • Inventario: Hosts de Oracle Linux
    • Proyecto: Gestión de contenedores
    • Entorno de ejecución: Mi EE personalizado
    • Libro de reproducción: list-images.yml
    • Credenciales: Acceso SSH a Oracle Linux
  4. Revise las entradas, desplácese a la parte inferior de la página y haga clic en el botón Guardar.

    olam2-temp-detalle

Ejecutar la plantilla

  1. Haga clic en Templates (Plantillas) en Resources, en el menú de navegación.

  2. Haga clic en el icono Iniciar plantilla de la columna Acciones junto a la plantilla de trabajo Mostrar imágenes.

Se inicia el trabajo y el panel cambia al resumen de salida del trabajo. Después de unos minutos, el trabajo falla.

olam2-fallo de trabajo

Este fallo se produce porque el nuevo ee personalizado no contiene la recopilación containers.podman, por lo que el manual no se puede ejecutar.

Corregir el entorno de ejecución personalizado

Para corregir la entrada personalizada, debemos volver a crear la imagen de contenedor mediante la utilidad Builder y, a continuación, transferir la nueva imagen a Private Automation Hub para que la seleccione Oracle Linux Automation Manager.

  1. Cambie a un terminal o ábralo y conéctese mediante SSH a la instancia devops-node.

  2. Cambie al directorio de proyecto de ee personalizado.

    cd ~/my_custom_ee_project
    
  3. Agregue la recopilación que falta al archivo de requisitos de Ansible Galaxy.

    tee -a requirements.yml > /dev/null <<EOF
    - name: containers.podman
    EOF
    
  4. Vuelva a crear la imagen.

    ansible-builder build --tag my_custom_ee -v 3
    
  5. Transfiera la nueva imagen a Private Automation Hub.

    cd ~
    ansible-playbook push-image.yml
    
  6. Verifique que la transferencia de imagen se haya realizado correctamente.

    Conéctese al hub de Private Automation Hub WebUI y revise los cambios de Entorno de ejecución, en concreto la columna Última modificación de my_first_olam_ee_image.

    pah-ee-modificar

Prueba del Nuevo Entorno de Ejecución Personalizado

  1. Cambie en el explorador a Oracle Linux Automation Manager WebUI.

    Refresque la ventana del explorador y vuelva a conectarse si es necesario.

  2. Haga clic en Execution Environments (Entornos de ejecución) en Administration (Administración) en el menú de navegación.

  3. Haga clic en el icono Editar entorno de ejecución en la columna Acciones junto al enlace de imagen Mi EE personalizado.

  4. Cambie el valor Extraer a Extraer contenedor siempre antes de ejecutar.

    Este campo activa la opción --pull para podman. El cambio de configuración forzará a Oracle Linux Automation Manager a extraer la última imagen cuando sus sumas de comprobación de capa no coincidan.

  5. Revise los cambios y haga clic en el botón Guardar.

  6. Haga clic en Jobs en Views en el menú de navegación.

  7. Haga clic en el icono Reiniciar en la columna Acciones situada junto a ... Enlace List Images (Imágenes de lista).

    Seleccione Todo en la lista desplegable de valores.

    Se inicia el trabajo y el panel cambia al resumen de salida del trabajo. Después de unos minutos, se completa correctamente.

    olam2-job-success

Pasos Siguientes

La salida de WebUI confirma que tiene un entorno de ejecución personalizado de trabajo en Oracle Linux Automation Manager. Desarrolle sus habilidades y consulte nuestra otra formación sobre Oracle Linux Automation Manager en 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.