Note:

Uso de la recopilación de OCI Ansible con Oracle Linux Automation Manager

Introducción

La recopilación de Ansible de Oracle Cloud Infrastructure (OCI) proporciona una forma sencilla de aprovisionar y gestionar recursos en Oracle Cloud mediante Oracle Linux Automation Engine u Oracle Linux Automation Manager.

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"
      2:
        instance_name: "git-server"
        type: "server"
    use_git: 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.

Crear un cuaderno de estrategias

  1. Abra una ventana de terminal nueva.

  2. Defina una variable en la instancia remota de git-server.

    export REMOTE=<ip_address_of_instance>
    
  3. Cree un directorio de proyecto.

    mkdir ~/myproject
    
  4. Cree un archivo de requisitos.

    Oracle Linux Automation Engine utiliza el archivo de requisitos para extraer las recopilaciones o roles necesarios en el proyecto en tiempo de ejecución.

    cat << EOF > ~/myproject/requirements.yml 
    ---
    collections:
      - name: oracle.oci
      - name: community.general
    EOF
    

    Nota: Para las versiones de Oracle Linux Automation Engine < 2.13.9, puede configurar el archivo de requisitos para extraer la recopilación directamente del repositorio de recopilaciones GitHub.

    cat << EOF > ~/myproject/requirements.yml 
    ---
    collections:
      - name: https://github.com/oracle/oci-ansible-collection.git
        type: git
        version: master
      - name: https://github.com/ansible-collections/community.general.git
        type: git
        version: main
    EOF
    
  5. Crear un libro de estrategias.

    Este manual consulta el espacio de nombres de almacenamiento de objetos para el arrendamiento de Oracle Cloud Infrastructure. Configuraremos los detalles del arrendamiento más adelante en la interfaz de usuario web de Oracle Linux Automation Manager.

    cat << EOF > ~/myproject/get_namespace.yml
    ---
    - name: Get namespace name
      hosts: localhost
    
      tasks:
    
      - name: get namespace
        oracle.oci.oci_object_storage_namespace_facts:
        register: output
    
      - name: print namespace
        ansible.builtin.debug:
          msg: ""
    EOF
    

Adición del proyecto al control de origen

  1. Inicialice el directorio de trabajo del proyecto en un repositorio de Git.

    Antes de inicializar el repositorio, debe realizar algunos pasos de configuración inicial de Git.

    1. Defina el nombre de rama por defecto utilizado al inicializar un proyecto.

      git config --global init.defaultBranch main
      
    2. Defina su identidad.

      El correo electrónico y el nombre son ejemplos de este tutorial. Utilice su dirección de correo electrónico y nombre cuando trabaje en sus proyectos, ya que git incluye inmutablemente esta información en cada confirmación.

      git config --global user.email johndoe@example.com
      git config --global user.name "John Doe"
      
    3. Cambie al directorio de trabajo del proyecto.

      cd ~/myproject
      
    4. Inicialice el directorio como repositorio de Git local.

      git init
      

      El comando devuelve que inicializó el repositorio de Git vacío.

  2. Compruebe el estado del directorio de trabajo y del área temporal del proyecto.

    git status
    

    El estado del repositorio local indica dos archivos sin seguimiento: get_namespace.yml y requirements.yml.

  3. Agregue y realice un seguimiento de los nuevos archivos en el área temporal.

    git add --all
    

    La opción --all agrega todos los archivos sin seguimiento y modificados al área temporal.

  4. Confirme los cambios actualmente en el área temporal.

    git commit -m 'initial commit'
    

    La opción -m permite agregar un comentario a los cambios confirmados.

  5. Cree e inicialice el repositorio de Git remoto.

    Un repositorio remoto es un repositorio compartido que utilizan todos los contribuyentes de proyecto y que se almacena en un servicio de alojamiento de código, como GitHub o un servidor autoalojado.

    ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
    

    La opción -b garantiza la inicialización del repositorio remoto mediante una rama denominada main.

  6. Acepte la huella de clave de ECDSA escribiendo yes.

  7. Agregue el nuevo registro de conexión de repositorio remoto.

    Agregar la conexión remota al repositorio local le permite utilizarla como un acceso directo con nombre en los comandos de Git.

    git remote add origin git@$REMOTE:/git-server/repos/myproject.git
    

    La ruta después de los dos puntos es la ubicación del directorio del repositorio en el servidor Git remoto.

  8. Verifique el registro de conexión recién agregado.

    git remote -v
    

    La salida muestra el registro de conexión origin que apunta a la ubicación del repositorio de Git remoto para los comandos git fetch y git push.

  9. Transfiera los cambios del repositorio local al repositorio remoto.

    git push origin main
    

    Ahora es posible usar el origen myproject dentro de un proyecto de Oracle Linux Automation Manager.

Crear credenciales de Galaxy de Ansible

Estas credenciales permiten a Oracle Linux Automation Manager extraer la recopilación de OCI Ansible del Galaxy Hub público de Ansible.

  1. Abra una nueva ventana de terminal y configure un túnel SSH a la instancia del nodo olam.

    ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
    
  2. Abra un explorador web e introduzca la URL.

    https://localhost:8444
    

    Nota: Apruebe la advertencia de seguridad según el explorador utilizado. Para el explorador 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]).

  3. Inicie sesión en la IU web de Oracle Linux Automation Manager. Utilice el nombre de usuario admin y la contraseña admin creados durante el despliegue automatizado.

    Conexión olam2

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

    olam2-webui

  5. Haga clic en Credenciales en la sección Recursos del menú de navegación.

  6. Haga clic en el botón Agregar.

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

    Para los campos con una búsqueda o lista de valores, podemos empezar a escribir el valor solicitado y, a continuación, seleccionarlo de la lista.

    • Name: My Ansible Galaxy
    • Organización: Default
    • Tipo de credencial: Token de API de Ansible Galaxy/Automation Hub

    Oracle Linux Automation Manager utiliza las credenciales de Ansible Galaxy para facilitar la descarga de roles y recopilaciones mediante el comando ansible-galaxy.

    • URL de Galaxy Server: https://galaxy.ansible.com

    olam2-ansible-galaxy-creds

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

  9. Haga clic en Organizations (Organizaciones) en la sección Access (Acceso) del menú de navegación.

    La asignación de la credencial de Ansible Galaxy dentro de la organización permite la descarga de la recopilación de Ansible de infraestructura de Oracle Linux desde el proyecto de git.

  10. Haga clic en la organización Default (Por defecto) y haga clic en el botón Edit (Editar).

  11. Seleccione la credencial My Ansible Galaxy en el campo Galaxy Credentials y haga clic en el botón Select (Seleccionar).

  12. Revise y haga clic en el botón Guardar.

    olam2-ansible-galaxy-org

Crear credenciales de OCI

Las credenciales de OCI proporcionan información de Oracle Linux Automation Manager sobre el arrendamiento de OCI específico.

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

  2. Haga clic en el botón Agregar.

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

    • Name: My OCI Credentials
    • Organización: Default
    • Tipo de credencial: Oracle Cloud Infrastructure

    olam2-oci-cred1

    La página refresca y solicita la información de configuración de OCI.

  4. Abra una ventana de terminal nueva.

  5. Visualice el contenido del archivo de configuración de OCI.

    cat ~/.oci/config
    
  6. Utilice los valores que se muestran en el terminal y haga coincidir los campos específicos de la credencial de OCI en la interfaz de usuario web de Oracle Linux Automation Manager.

    Utilice el icono olam2-webui-show situado junto a cada campo para mostrar el valor del pegado.

    olam2-oci-cred2

  7. Obtenga el contenido de la clave privada de API de su usuario de OCI.

    En el entorno de prácticas gratuito, puede ejecutar cat ~/.oci/oci.key para obtener esta información y, a continuación, copiar toda la salida, incluidas las líneas BEGIN y END.

  8. Pegue la clave en el campo Private User Key (Clave de usuario privada) en la interfaz de usuario web de Oracle Linux Automation Manager.

    olam2-oci-cred3

  9. Revise y haga clic en el botón Guardar.

    olam2-oci-cred4

    Si necesita editar estos valores más adelante, aparecerán cifrados en la interfaz de usuario web. Por lo tanto, para realizar cambios, haga clic en el icono Sustituir junto al campo específico y agregue el nuevo valor para el campo. Repita estos pasos según sea necesario y, a continuación, haga clic en el botón Guardar cuando termine de realizar los cambios.

Creación de un inventario

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

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

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

    • Name: My Local Inventory
    • Instance Groups (Grupos de instancias): controlplane

    La recopilación de Ansible de Oracle Cloud Infrastructure utiliza una conexión de red de localhost al utilizar Oracle Linux Automation Engine para interactuar con el arrendamiento de OCI.

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

    olam2-inv

Agregar credencial de control de origen

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

  2. Haga clic en el botón Agregar.

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

    • Name: Git Server
    • Tipo de credencial: Control de origen

    olam2-git-cred1

    La página se refresca y solicita los detalles de tipo.

  4. Introduzca el nombre de usuario del servidor de Git.

    • Username: git
  5. Copie y pegue el contenido de la clave privada del servidor de Git en el campo Clave privada de SCM.

    El entorno de prácticas gratuito utiliza el archivo ~/.ssh/id_rsa por defecto.

    olam2-git-cred2

  6. Revise y haga clic en el botón Guardar.

    olam2-git-cred3

Crear proyecto

  1. Haga clic en Projects (Proyectos) en el menú de navegación.

  2. Haga clic en el botón Agregar.

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

    • Name: My Project
    • Entorno de ejecución: OLAM EE (2.3)
    • Source Control Credential Type (Tipo de credencial de control de origen): Git

    olam2-proj1

    La página se refresca y solicita los detalles de tipo.

    • URL de control de origen: git@<ip_address_of_instance>:/git-server/repos/myproject.git
    • Source Control Branch: main
    • Credencial de control de origen: Servidor de Git

    El entorno de prácticas libre utiliza la dirección IP del servidor git en el campo Source Control URL (URL de control de origen).

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

    olam2-proj2

  5. Revise el estado de sincronización del proyecto.

    Después de crear un proyecto, la interfaz de usuario web muestra su estado en el resumen de Detalles a medida que comienza la sincronización. El estado pasa de En ejecución a Correcto si la configuración es correcta y se puede acceder al servidor de Git.

    olam2-proj-sync

Crear plantilla de trabajo

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

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

  3. Introduzca o seleccione los valores necesarios.

    • Name: My Template
    • Tipo de trabajo: Ejecutar
    • Inventario: Mi inventario local
    • Proyecto: Mi proyecto
    • Entorno de ejecución: OLAM EE (2.3)
    • Libro de reproducción: get_namespace.yml
  4. Seleccione las credenciales.

    Al seleccionar Credenciales, aparece un cuadro de diálogo emergente Seleccionar credenciales. Seleccione Oracle Cloud Infrastructure en la lista desplegable Categoría seleccionada para mostrar las credenciales de ese tipo.

  5. Seleccione Mis credenciales de OCI y, a continuación, haga clic en el botón Seleccionar.

  6. Revise las entradas de la plantilla de trabajo.

    olam2-temp1

  7. Desplácese hacia abajo por la página y haga clic en el botón Guardar.

    olam2-temp2

  8. Inicie la plantilla.

    Inicie un trabajo desde la página de resumen de plantilla haciendo clic en el botón Iniciar.

    olam2-temp-lanzamiento

    Si se realiza correctamente, el trabajo se inicia y muestra la salida de la plantilla, incluido el espacio de nombres del arrendamiento de OCI. Puede hacer clic en el enlace Recargar salida para refrescar el panel de salida si es necesario.

    olam2-temp-output

Pasos Siguientes

La salida que muestra el espacio de nombres confirma que tiene una configuración de trabajo y un proyecto que demuestra cómo utilizar los cuadernos de estrategias mediante la recopilación de Ansible de Oracle Cloud Infrastructure. Experimente más con la recopilación para desplegar instancias y otros recursos en su arrendamiento.

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.