Automatice la implementación de máquinas virtuales con Ansible: Diseño

Una implementación sustancial de Red Hat Virtualización (RHV) en sus centros de datos hace que la creación manual de máquinas virtuales (VM) sea ineficiente. Cuanto mayor sea la implementación de RHV, más esencial se vuelve un método de automatización para crear máquinas virtuales.

En esta serie, le muestro cómo diseñar y automatizar implementaciones de máquinas virtuales usando Ansible. Además, proporciono dos muestras. Libros de juegos de Ansible para empezar Esa es mucha información, pero he dividido el artículo en tres partes que están disponibles aquí en Enable Sysadmin. La primera parte (este artículo) cubre los objetivos básicos, el diseño y los supuestos. Segunda parte cubre el proceso de automatización. Parte tres le proporciona los dos libros de jugadas de Ansible, junto con algunos consejos para la solución de problemas.

Aquí, en la primera parte, cubro algunos conceptos de diseño fundamentales y objetivos del proyecto de automatización. Estos conceptos incluyen suposiciones sobre herramientas disponibles, versiones de software, etc. También observo el entorno en el que realizará sus tareas de automatización.

Índice

Diseño

Un único punto de gestión para automatizar la creación de máquinas virtuales simplifica el proceso de automatización. Este diseño utiliza un servidor Ansible para automatizar dos aspectos de la implementación:

  • Creación de máquinas virtuales mediante la API de RHVM
  • Configuración posterior de la máquina virtual mediante SSH

Este diseño logra los siguientes resultados:

  • Una cadena de automatización segura que utiliza protocolos encriptados, un nombre de usuario de administrador de RHVM diferente del nombre de usuario de administrador predeterminado y Bóveda de Ansible para asegurar las contraseñas utilizadas en el proceso de automatización.
  • Una cadena de automatización simple y manejable.

Hipótesis

Para simplificar, este artículo utiliza las siguientes suposiciones:

  1. Virtualización de Red Hat (RHV) versión 4.3.
  2. La versión 2.9 de Ansible y los paquetes necesarios se descargan desde el código abierto ascendente. Torre Ansible facilita el proceso de automatización.
  3. CentOS 7.x aloja el servidor Ansible.
  4. Existe un sistema de control de versiones, como Git.
  5. La cadena de automatización utiliza modelos con la cloud-init paquete preinstalado.
  6. Las máquinas virtuales que se implementarán se basan en RHEL.

Nota: La configuración de RHV, Ansible, Ansible Tower, CentOS y Git está fuera del alcance de este artículo.

Las tareas posteriores a la configuración son ejemplos. Las tareas específicas requeridas dependen del uso previsto de la propia máquina virtual. Modifique los libros de jugadas proporcionados en la Parte 3 para adaptarlos a sus necesidades.

preparaciones ambientales

Hay varios aspectos de las implementaciones basadas en Ansible para configurar antes de comenzar el proceso. Estos aspectos incluyen la preparación de RHV y Ansible para implementaciones automatizadas de máquinas virtuales.

Virtualización de Red Hat

Se necesitan pocas configuraciones para configurar la cadena de automatización. Se recomienda que cree una cuenta de administrador de RHV específica en lugar de utilizar el usuario administrador local predeterminado.

El método para crear un nuevo usuario con privilegios de Crear VM depende del uso de Red Hat Virtualización Manager (RHVM) de un sistema central de administración de identidades (es decir, IDM, Free IPA o Active Directory) o usuarios locales.

Crear un nuevo usuario local (nombre de usuario = usuario ansible) con privilegios de administrador en RHVM siguiendo los pasos a continuación.

Crear cuenta de usuario

Primero, inicie sesión en RHVM OS como usuario privilegiado.

Entonces usa ovirt para crear un usuario-ansible cuenta de usuario.

# ovirt-aaa-jdbc-tool user add ansible-user 
--attribute=firstName=Ansible
--attribute=lastName=User

Finalmente, restablezca la contraseña (en este ejemplo, la contraseña es sombrero rojo).

# ovirt-aaa-jdbc-tool user password-reset ansible-user --password=pass:redhat

Configurar privilegios de cuenta

Ahora inicie sesión en RHVM y configure los privilegios de la nueva cuenta.

Primero, inicie sesión en la GUI de RHVM como usuario con privilegios administrativos, luego vaya a AdministraciónUsuarios.

Para seleccionar Para agregar en el menú de la derecha.

Luego, en el cuadro de búsqueda, escriba ansible *. Se muestra el usuario recién creado. Para seleccionar Agregar y cerrar. El usuario aparece en la lista con las otras cuentas de usuario.

Para configurar los privilegios de usuario, haga doble clic en el usuario-ansible cuenta de usuario.

Finalmente, en la nueva ventana, seleccione el Autorizaciones pestaña, luego elija Agregar permisos del sistema.

Seleccione la autorización adecuada, que en este caso es Creador de VMC.

Nota: consulte este enlace para obtener la funciones integradas completas en RHV.

Servidor Ansible

El servidor Ansible es un servidor basado en Centos 7.x, con Pitón y semilla instalado.

Nota: En este artículo se utilizan Python 2.7 y python2-pip. Sin embargo, se pueden usar Python 3.6 y python36-pip. La actualización de Python está fuera del alcance de este artículo.

Utilice el siguiente proceso para configurar el servidor Ansible:

Instalar Ansible, Jinja2, y ovirt-engine-sdk-python usando pipa.

# pip install ansible Jinja2 ovirt-engine-sdk-python

Si está utilizando pip detrás de un servidor proxy, es posible que deba usar la configuración a continuación.

# pip --proxy [user:passwd]proxy.server:port install ansible Jinja2 ovirt-engine-sdk-python

Esta lista muestra las versiones mínimas requeridas.

ansible==2.9.9
Jinja2==2.11.2
ovirt-engine-sdk-python==4.4.3

Conclusión

En este punto, el entorno de implementación automatizado está configurado. Tiene las versiones adecuadas de CentOS, Ansible, Python, pip y otro software. También tiene una cuenta de administrador en RHV específica para este proyecto. Lo que es más importante, tiene una lista de objetivos y expectativas de lo que proporciona su nuevo proceso de implementación.

En el próximo artículo, confío en esta configuración para proporcionar una automatización flexible y eficiente. Recuerde que la Parte 3 también incluye dos libros de jugadas de Ansible de muestra.

Continuar con esta serie

Automatice la implementación de máquinas virtuales con Ansible: automatización (parte 2)

Automatice la implementación de máquinas virtuales con Ansible: Playbooks (Parte 3)

Las referencias

Documentación para Red Hat Virtualización 4.3

Documentación de Ansible

Artículos de interés

Subir