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.
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:
- Transferir un ee personalizado a Private Automation Hub mediante un manual
- Agregar un ee personalizado a Oracle Linux Automation Manager
- Usar ee personalizado para ejecutar un trabajo
Requisitos
- Tres sistemas que ejecutan Oracle Linux
- Entorno de desarrollo con la utilidad Builder
- Uno para Private Automation Hub
- Otro para ejecutar Oracle Linux Automation Manager
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.
-
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: "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
-
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.
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.
-
Abra un terminal y conéctese mediante SSH a la instancia devops-node.
ssh oracle@<ip_address_of_instance>
-
Instale Oracle Linux Automation Engine.
sudo dnf install ansible-core -y
-
Instale las recopilaciones necesarias.
ansible-galaxy collection install containers.podman
-
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
-
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).
-
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>
-
Cambie al escritorio Luna.
-
Abra el visor TigerVNC haciendo clic en el menú Aplicaciones, Internet y, a continuación, en TigerVNC Viewer.
-
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). -
Introduzca la contraseña del usuario
oracle
de oracle y pulse el botón OK (Aceptar). -
El escritorio de la GUI del servidor se muestra con una configuración de inicio de sesión por primera vez.
-
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.
Verificación de que la imagen existe en Private Automation Hub
-
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 enlaceProceed to localhost (unsafe)
. -
Conéctese al hub de Private Automation Hub WebUI.
Utilice el nombre de usuario
admin
y la contraseñapassword
. El entorno de prácticas gratuito define este valor de contraseña durante el despliegue de prácticas. -
WebUI se muestra después de una conexión correcta.
-
Haga clic en el menú de navegación de la esquina superior izquierda del hub de Private Automation Hub WebUI.
-
Vaya a Entornos de ejecución y Entornos de ejecución.
-
Observe que se muestra la nueva my_first_olam_ee_image en el panel principal.
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.
-
Cambie a un terminal o ábralo y conéctese mediante SSH a la instancia devops-node.
-
Cree un directorio de proyecto y cámbielo a él.
mkdir ~/project1 cd ~/project1
-
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
-
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
-
Cree un archivo de inventario.
tee hosts > /dev/null <<EOF [olam] olam-node EOF
-
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
-
Abra un nuevo terminal desde Luna Desktop.
-
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.
-
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]).
-
Conéctese a Oracle Linux Automation Manager WebUI.
Utilice el nombre de usuario
admin
y la contraseñaadmin
. El entorno de prácticas gratuito define este valor de contraseña durante el despliegue de prácticas. -
WebUI se muestra después de una conexión correcta.
Adición de una credencial de Container Registry
-
Haga clic en Credenciales en Recursos en el menú de navegación.
-
Haga clic en el botón Add (Agregar) en el panel principal.
-
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.
- Name:
-
Revise las entradas y haga clic en el botón Save (Guardar).
Agregar un entorno de ejecución
-
Haga clic en Execution Environments (Entornos de ejecución) en Administration (Administración) en el menú de navegación.
-
Haga clic en el botón Add (Agregar) en el panel principal.
-
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
- Name:
-
Revise las entradas y haga clic en el botón Save (Guardar).
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
-
Haga clic en Inventarios en Recursos en el menú de navegación.
-
Haga clic en el botón Agregar del panel principal y seleccione Agregar inventario en la lista de valores.
-
Introduzca el siguiente valor en el campo específico.
- Name:
Oracle Linux Hosts
- Name:
-
Revise la entrada y haga clic en el botón Guardar.
Agregue un host
-
Haga clic en el separador Hosts del panel Detalles de inventario de hosts de Oracle Linux.
-
Haga clic en el botón Agregar.
-
Introduzca el nombre de host devops-node en el campo Name (Nombre).
-
Revise la entrada y haga clic en el botón Guardar.
Adición de una credencial de máquina
-
Haga clic en Credenciales en Recursos en el menú de navegación.
-
Haga clic en el botón Add (Agregar) en el panel principal.
-
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).
- Name:
-
Revise las entradas, desplácese a la parte inferior de la página y haga clic en el botón Guardar.
Crear un Nuevo Proyecto
-
Haga clic en Projects en Resources en el menú de navegación.
-
Haga clic en el botón Add (Agregar) en el panel principal.
-
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
- Name:
-
Revise las entradas y haga clic en el botón Save (Guardar).
Agregar una plantilla de trabajo
-
Haga clic en Templates (Plantillas) en Resources, en el menú de navegación.
-
Haga clic en el botón Agregar del panel principal y seleccione Agregar plantilla de trabajo en la lista de valores.
-
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
- Name:
-
Revise las entradas, desplácese a la parte inferior de la página y haga clic en el botón Guardar.
Ejecutar la plantilla
-
Haga clic en Templates (Plantillas) en Resources, en el menú de navegación.
-
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.
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.
-
Cambie a un terminal o ábralo y conéctese mediante SSH a la instancia devops-node.
-
Cambie al directorio de proyecto de ee personalizado.
cd ~/my_custom_ee_project
-
Agregue la recopilación que falta al archivo de requisitos de Ansible Galaxy.
tee -a requirements.yml > /dev/null <<EOF - name: containers.podman EOF
-
Vuelva a crear la imagen.
ansible-builder build --tag my_custom_ee -v 3
-
Transfiera la nueva imagen a Private Automation Hub.
cd ~ ansible-playbook push-image.yml
-
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.
Prueba del Nuevo Entorno de Ejecución Personalizado
-
Cambie en el explorador a Oracle Linux Automation Manager WebUI.
Refresque la ventana del explorador y vuelva a conectarse si es necesario.
-
Haga clic en Execution Environments (Entornos de ejecución) en Administration (Administración) en el menú de navegación.
-
Haga clic en el icono Editar entorno de ejecución en la columna Acciones junto al enlace de imagen Mi EE personalizado.
-
Cambie el valor Extraer a Extraer contenedor siempre antes de ejecutar.
Este campo activa la opción
--pull
parapodman
. 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. -
Revise los cambios y haga clic en el botón Guardar.
-
Haga clic en Jobs en Views en el menú de navegación.
-
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.
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.
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.
Use Custom Execution Environments with Oracle Linux Automation Manager
G32006-03
Copyright ©2023, Oracle and/or its affiliates.