Note:

Gestión de entornos de ejecución en Oracle Linux Automation Manager Private Automation Hub

Introducción

Private Automation Hub es un repositorio de Oracle Linux Automation Manager para gestionar recopilaciones, imágenes de entorno de ejecución y otro contenido seleccionado localmente dentro de la infraestructura de un cliente.

En este tutorial se muestra cómo instalar Private Automation Hub y cargar un entorno de ejecución personalizado en su registro de contenedores. Para obtener más información sobre la creación de entornos de ejecución personalizados, consulte nuestro tutorial en la utilidad Builder.

Objetivos

En este tutorial, aprenderá a:

Requisitos

Despliegue de 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.

  1. Abra un terminal en Luna Desktop.

  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. Actualizar 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"
    passwordless_ssh: true
    use_olam_builder: true
    use_devops_vnc: true
    add_pah_ports: true
    olam_type: none
    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.

Instalación de los paquetes de Private Automation Hub

  1. Abra un terminal y conéctese mediante SSH a la instancia ol-pah.

    ssh oracle@<ip_address_of_instance>
    
  2. Instale el repositorio de Oracle Linux Automation Manager.

    Oracle Linux 8:

    sudo dnf install -y oraclelinux-automation-manager-release-el8
    

    Oracle Linux 9:

    sudo dnf install -y oraclelinux-automation-manager-release-el9
    
  3. Instale el paquete de Private Automation Hub.

    sudo dnf install -y ol-private-automation-hub-installer
    

    Este comando instala los manuales y roles de instalación de Private Automation Hub, ansible-core, python3.11 y otras dependencias de paquetes.

Instalación de Private Automation Hub

Al instalar Private Automation Hub, debe definir las contraseñas para la cuenta de superusuario admin de Private Automation Hub y su base de datos backend. En lugar de pasarlos al manual de estrategias al aire libre, vamos a realizar ese paso de forma más segura utilizando ansible-vault.

La utilidad ansible-vault, que se incluye con Oracle Linux Automation Engine, permite el cifrado y descifrado de archivos de datos estructurados, incluidos archivos de texto, variables y manuales de YAML.

Encriptaremos un archivo variable que contenga nuestras dos contraseñas para nuestros fines.

  1. Copie el manual de Private Automation Hub en el directorio de trabajo.

    cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
    
  2. Cambie al directorio de trabajo.

    cd ~/single_node
    
  3. Cree un archivo de inventario.

    El archivo de inventario de este manual requiere el nombre de host y el nombre de usuario SSH donde el manual instalará Private Automation Hub. El archivo de inventario se define en formato INI o YAML. El inventario de muestra hosts.singlenode.example del manual de instalación utiliza YAML, por lo que utilizaremos el formato INI aquí para demostrar una opción alternativa.

    tee hosts > /dev/null <<EOF
    [hub]
    ol-pah ansible_host=ol-pah ansible_user=oracle
    EOF
    

    A diferencia del ejemplo que utiliza hub como alias para ansible_host, este archivo de inventario INI utiliza hub como nombre de grupo. Los grupos permiten la creación de relaciones principal-secundario entre hosts y los clasifican en una o más categorías para ejecutar tareas o asignar variables.

  4. Cree un almacén que contenga las variables de contraseña.

    ansible-vault create vault_passwords.yml
    

    Al ejecutar el comando, se le solicita que cree una contraseña de almacén. La utilidad ansible-vault utiliza esta contraseña para descifrar el contenido del almacén y acceder a este contenido desde un manual. La contraseña puede ser cualquier combinación de caracteres, pero recuerde que no puede recuperarla.

    Una vez que haya introducido y confirmado la contraseña, la utilidad abrirá el archivo vault_passwords.yml en el editor predeterminado. Para el entorno de prácticas gratuitas, el editor es vi. Escriba i para introducir el modo INSERT y pegue estas variables de contraseña de Private Automation Hub de ejemplo.

    Nota: Estas son las variables que utiliza el manual al instalar Private Automation Hub y definir las contraseñas de superusuario y base de datos.

    ---
    olpah_admin_password: password
    olpah_db_password: password
    

    Cierre y guarde el archivo escribiendo ESC, :wq! y, a continuación, ENTER.

  5. Verifique el contenido del almacén.

    ansible-vault view vault_passwords.yml
    

    Introduzca la contraseña del almacén en la petición de datos y ansible-vault muestra el contenido del almacén en el terminal.

  6. Ejecuta el manual de Private Automation Hub.

    ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
    
    • -i define el archivo de inventario
    • -e define cualquier variable de tiempo de ejecución como pares key=value o en un archivo de variables
    • --ask-vault-pass solicita la contraseña del almacén

    Existen métodos alternativos para proporcionar la contraseña del almacén, que puede revisar en la documentación de flujo ascendente.

    Nota: La instalación de Private Automation Hub tarda entre 10 y 20 minutos. Durante la instalación, el progreso del manual se desplaza por el terminal hasta que se completan todas las tareas.

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. Salga de la sesión SSH existente.

    exit
    
  2. 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>
    
  3. Cambie al escritorio Luna.

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

    menú de vnc

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

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

    vnc-pwd

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

    gui-bienvenido

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

Conexión a 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 a la interfaz de usuario web de Private Automation Hub.

    Utilice el nombre de usuario admin y la contraseña password. Esta contraseña es el valor que definimos para olpah_admin_password en el archivo de variables de tiempo de ejecución.

    pah-login

  3. La interfaz de usuario web se muestra después de una conexión correcta.

    pah-webui

Agregar entorno de ejecución mediante la interfaz de usuario web

Uno de los elementos que gestiona Private Automation Hub son los entornos de ejecución. Esta función permite a Private Automation Hub servir como repositorio para imágenes de contenedor, lo que permite a los administradores interactuar con ellas mediante Podman y la interfaz de usuario web.

  1. Haga clic en Remote Registries (Registros remotos) en la interfaz de usuario web en Execution Environments (Entornos de ejecución) en el menú de navegación.

  2. Haga clic en el botón Agregar registro remoto.

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

    • Name: Quay Upstream Registry
    • URL: https://quay.io
  4. Haga clic en el botón Guardar.

    El registro remoto recién creado aparece en el panel Remote Registries (Registros remotos).

  5. Haga clic en Entornos de ejecución en Entornos de ejecución en el menú de navegación.

  6. Haga clic en el botón Agregar entorno de ejecución.

    La interfaz de usuario web muestra el cuadro de diálogo Agregar entorno de ejecución. A través de este cuadro de diálogo, podemos extraer imágenes de contenedor de registros ascendentes u otros registros.

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

    • Name: upstream/awx-ee
    • Upstream Name: ansible/awx-ee
    • Registry: Quay Upstream Registry
    • Agregar etiquetas para incluir: escriba latest y, a continuación, ENTER
  8. Haga clic en el botón Guardar.

    El entorno de ejecución recién creado aparece en el panel Entornos de ejecución.

  9. Sincronice el entorno de ejecución upstream/awx-ee desde el registro remoto.

    1. Haga clic en el menú vertical de tres puntos situado a la derecha de la opción upstream/awx-ee.

    2. Seleccione Sincronizar de registro

      Aparece un cuadro de diálogo emergente que indica que se ha iniciado la sincronización.

    3. Haga clic en el enlace página de detalles del cuadro de diálogo emergente para ver el estado de esta tarea.

    4. La tarea muestra un icono Finalizado.

    5. Haga clic en Entornos de ejecución en Entornos de ejecución en el menú de navegación.

    6. Haga clic en el enlace upstream/awx-ee del panel Entornos de ejecución.

      Este enlace muestra las instrucciones para extraer esta imagen de Private Automation Hub en el separador Detalles.

    7. Haga clic en el separador Imágenes.

      Este panel muestra más detalles sobre la imagen, incluido su etiqueta, tamaño y el resumen sha256.

Entorno de ejecución push mediante Podman

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

    ssh oracle@<ip_address_of_instance>
    

    Esta instancia contiene una instalación de la utilidad Builder y un entorno de ejecución personalizado incorporado. Para obtener más información sobre la realización de estas tareas, consulte Creación de entornos de ejecución personalizados con la utilidad de creación de Oracle Linux Automation Manager.

  2. Cambie al directorio de trabajo del proyecto.

    cd ~/my_custom_ee_project
    

    Este directorio contiene los archivos de datos de la utilidad Builder, que Podman utiliza para crear la imagen de entorno de ejecución personalizada.

  3. Muestra las imágenes locales existentes.

    podman images
    

    La salida muestra nuestra imagen personalizada y las imágenes olam-ee y olam-builder por defecto de Oracle Linux Automation Manager.

  4. Log in to the Private Automation Hub.

    podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
    
    • -u es un usuario con privilegios para acceder al registro de contenedor
    • ol-pah.$(hostname -d) es el FQDN del registro de contenedor
    • --tls-verify=0 desactiva la verificación de certificados TLS, ya que el entorno de prácticas gratuitas utiliza certificados autofirmados

    El comando solicita un Password:. Introduzca la contraseña que coincida con las credenciales de conexión para el usuario admin de Private Automation Hub.

  5. Etiquete la imagen personalizada local.

    Antes de transferir la imagen al registro de Private Automation Hub, cree la estructura de repositorio y la etiqueta necesarias mediante la imagen local.

    podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
    
  6. Verifique que la nueva imagen etiquetada existe.

    podman images
    

    Salida de ejemplo:

    [oracle@devops-node my_custom_ee_project]$ podman images
    REPOSITORY                                                                  TAG         IMAGE ID      CREATED      SIZE
    localhost/my_custom_ee                                                      latest      fbc43634b168  5 hours ago  2.29 GB
    ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image                  latest      fbc43634b168  5 hours ago  2.29 GB
    <none>                                                                      <none>      92aa94db3699  5 hours ago  1.4 GB
    <none>                                                                      <none>      cc087fbfa018  5 hours ago  1.45 GB
    container-registry.oracle.com/oracle_linux_automation_manager/olam-ee       latest      368657c8376d  5 weeks ago  1.25 GB
    container-registry.oracle.com/oracle_linux_automation_manager/olam-builder  latest      5e98580f7956  5 weeks ago  546 MB
    
  7. Cargue la imagen personalizada en Private Automation Hub.

    Nota: Sustituya <IMAGE ID> por el ID de imagen real de my_first_olam_ee_image de la salida de podman images.

    podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
    
  8. Confirme la carga en la interfaz de usuario web.

    1. Cambie al explorador que contiene la interfaz de usuario web de Private Automation Hub.

    2. Vaya a Entornos de ejecución.

    3. Observe el nuevo my_first_olam_ee_image.

      pah-ee

Pasos Siguientes

La salida dentro de la interfaz de usuario web confirma que tiene un Private Automation Hub en funcionamiento y la capacidad de cargar y almacenar sus imágenes personalizadas. Consulta nuestros otros tutoriales que utilizan Oracle Linux Automation Manager para practicar tus habilidades.

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito 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.