Comprender los componentes básicos de Ansible-Parte 1

Comprender los componentes básicos de Ansible-Parte 1

El examen Red Hat Certified Specialist in Ansible Automation exam (EX407). es un nuevo programa de certificación de Red Hat. que pone a prueba sus habilidades para usar Ansible. para automatizar la configuración de sistemas y aplicaciones.

La serie se titulará “ El examen de Red Hat Certified Specialist in Ansible Automation exam (EX407). y cubre los siguientes objetivos de examen basados ​​en en Red Hat Enterprise Linux 7.5. y Ansible 2.7. que cubriremos en esta serie de Ansible.

Para vea las tarifas y regístrese para un examen en su país, consulte la página del examen de Ansible Automation.

Parte 1 : Comprenda los componentes básicos de Ansible Parte 2 : Instalar y configurar un nodo de control Ansible Parte 3 : Cómo configurar nodos administrados Ansible y ejecutar comandos ad-hoc Parte 4 : Cómo crear inventarios estáticos y dinámicos para definir grupos de hosts Parte 5 : Cómo crear jugadas y libros de jugadas de Ansible Parte 6 : Cómo usar los módulos de Ansible para tareas de administración del sistema Parte 7 : Cómo crear y usar plantillas para crear archivos de configuración personalizados Parte 8 : Cómo trabajar con variables y hechos de Ansible Parte 9 : Cómo crear y descargar roles en Ansible Galaxy y usarlos Parte 10 : Cómo usar Ansible Vault en Playbooks para proteger Datos confidenciales

En esta Parte 1. de la serie Ansible. analizaremos una descripción general básica de los componentes principales de Ansible. .

Comprender los componentes principales de Ansible

Ansible. es una plataforma de automatización gratuita y de código abierto de RedHat. que le permite administrar y controlar varios servidores desde una ubicación central. Es especialmente ideal cuando tiene tareas múltiples y repetitivas que deben realizarse. Entonces, en lugar de iniciar sesión en cada uno de estos nodos remotos y realizar sus tareas, puede hacerlo cómodamente desde una ubicación central y administrar cómodamente sus servidores.

freestar.config.enabled_slots.push

Esto es beneficioso cuando desea mantener la coherencia en la implementación de aplicaciones, reducir el error humano y automatizar tareas repetitivas y algo mundanas.

Por supuesto, existen otras alternativas para Ansible. como Puppet. Chef. y Salt. Sin embargo, Ansible. se prefiere principalmente porque es fácil de usar y fácil de aprender.

¿Por qué es fácil de aprender? Esto se debe a que Ansible. utiliza YAML. ( Otro lenguaje de marcado adicional. en sus trabajos de configuración y automatización que son legibles por humanos y bastante fáciles de seguir. YAML. utiliza el protocolo SSH. para comunicarse con servidores remotos, a diferencia de otras plataformas de automatización que requieren la instalación de un agente en nodos remotos para comunicarse con ellos.

Antes de comenzar con Ansible. es importante que se familiarice con algunas terminologías básicas para que no se pierda ni se confunda a medida que avanzamos.

Inventario

Un inventario. es un archivo de texto que contiene una lista de servidores o nodos que está administrando y configurando. Por lo general, los servidores se enumeran en función de sus nombres de host o direcciones IP.

Un archivo de inventario. puede contener sistemas remotos definidos por sus direcciones IP como se muestra:

10.200.50.50 10.200.50.51 10.200.50.52

Alternativamente, se pueden enumerar por grupos. En el siguiente ejemplo, tenemos servidores ubicados en 2 grupos: servidores web. y bases de datos. De esta forma, se puede hacer referencia a ellos de acuerdo con los nombres de sus grupos y no con sus direcciones IP. Esto simplifica aún más los procesos de operación.

[servidores web]. 10.200.50.60 10.200.50.61 [bases de datos]. 10.200.50.70 10.200.50.71

Puede tener varios grupos con varios servidores si se encuentra en un entorno de producción grande.

Libro de jugadas

Un libro de jugadas. es un conjunto de scripts de administración de configuración que definen cómo se ejecutarán las tareas en hosts remotos o en un grupo de máquinas anfitrionas. Los scripts o instrucciones están escritos en formato YAML.

Por ejemplo, puede tener un archivo playbook. para instalar el servidor web Apache en CentOS 7 y llamar it httpd.yml.

Para crear el playbook. ejecute el comando.

$ touch playbook_name.yml

Por ejemplo, para crear un libro de jugadas llamado httpd. ejecute el comando.

$ touch httpd.yml

Un archivo YAML comienza con 3 guiones. como se muestra. Dentro del archivo, agregue las siguientes instrucciones.

—-nombre: Esto instala e inicia los hosts del servidor web Apache: tareas del servidor web:-nombre: Instale el servidor web Apache yum: nombre = httpd estado = último-nombre: verifique el estado httpd servicio: nombre = httpd estado = iniciado

El libro de jugadas. anterior instala el servidor web Apache. en sistemas remotos definidos como servidores web. en el archivo de inventario. Después de la instalación del servidor web, Ansible verifica más tarde si el servidor web Apache está iniciado y en ejecución.

Los módulos

Los módulos. son unidades discretas de código que se utilizan en los libros de jugadas. para ejecutar comandos en servidores o hosts remotos. Cada módulo va seguido de un argumento.

El formato básico de un módulo es clave: valor.

-nombre: instalar paquetes de apache yum: nombre = httpd state = presente

En el fragmento de código YAML. anterior, -name. y yum. son módulos.

Reproduce

Un ansible play. es un script o instrucción que define la tarea a realizar en un servidor. Una colección de obras constituye un libro de jugadas. En otras palabras, un libro de jugadas es una colección de múltiples jugadas, cada una de las cuales estipula claramente la tarea a realizar en un servidor. Las reproducciones existen en formato YAML.

Variables

Si tienes experiencia en programación, lo más probable es que hayas usado variables. Básicamente, una variable representa un valor. Una variable puede incluir letras, números y guiones bajos, pero siempre DEBE comenzar con letras.

Las variables se utilizan cuando las instrucciones varían de un sistema a otro. Esto es especialmente cierto durante la configuración de varios servicios y funciones.

Hay 3 tipos principales de variables:

  • Variables del libro de estrategias
  • Variables de inventario
  • Variables especiales

En Ansible. las variables se definen primero usando vars k. luego seguidas por la variable nombre y el valor.

La sintaxis es como se muestra:

vars: Var name1: ‘Mi primera variable’ Var name2: ‘Mi segunda variable’

Considere el siguiente código.

-hosts: webservers vars:-web_directory:/var/www/html/

En el ejemplo anterior, la variable aquí es web_directory. y le indica a ansible que cree un directorio en el /var/www/html/ ruta.

Hechos

Hechos. son propiedades del sistema recopiladas por Ansible cuando ejecuta un libro de jugadas en un sistema host. Las propiedades incluyen nombre de host, familia de SO, tipo de CPU y núcleos de CPU, por mencionar algunos.

Para tener una idea de la cantidad de datos disponibles para su uso, emita el comando.

$ ansible localhost-m configuración  Lista de datos disponibles de Ansible  List Available Ansible Facts Lista de datos disponibles de Ansible

Como puede ver, se ha mostrado una gran cantidad de hechos. de forma predeterminada. Puede limitar aún más los resultados utilizando el parámetro de filtro como se muestra.

$ ansible localhost-m setup-a “filter = * ipv4”  Lista de datos de Ansible IPv4  Lista de datos de Ansible IPv4 Listar IPv4 Ansibl e Archivos de configuración de hechos

En Ansible. un archivo de configuración es un archivo que contiene diferentes configuraciones de parámetros que determinan cómo se ejecuta Ansible. El archivo de configuración predeterminado es el archivo ansible.cfg. ubicado en el directorio /etc/ansible/.

Puede ver el archivo de configuración ejecutando:

$ cat/etc/ansible/ansible.cfg Archivo de configuración de Ansible Archivo de configuración de Ansible Archivo de configuración Ansible

Como puede observar, se incluyen varios parámetros, como rutas de archivo de inventario. y biblioteca. usuario sudo, filtros de complementos, módulos, etc. Estos parámetros se pueden ajustar simplemente comentando y modificando los valores en ellos.

Además, puede tener múltiples archivos de configuración trabajando con Ansible además de su archivo de configuración predeterminado.

Resumen

Después de haber examinado los componentes principales de Ansible. esperamos que esté en condiciones de tenerlos al alcance de la mano y seleccionarlos a medida que avanzamos. Únase a nosotros en su próximo tema.

Leave a comment

Your email address will not be published. Required fields are marked *