Archivo y módulos inquebrantables en Ansible

Archivo y módulos inquebrantables en Ansible

Ya sabemos cómo comprimir y sin comprometer los archivos o carpetas en Windows. Pero hoy aprendemos cómo comprimimos los archivos y carpetas utilizando la herramienta Ansible. Para comprender ambas terminologías de Ansible, primero discutamos sobre el módulo de archivo. Más tarde, discutiremos sobre el módulo inquietos en Ansible con ejemplos explicados.

Módulo de archivo en Ansible

Un módulo de archivo en la herramienta Ansible es una colección de cualquier contenido que se transfiera a un dispositivo de mantenimiento o dispositivo remoto para que podamos mantener el contenido durante un largo período que se mantiene separado para las necesidades regulatorias o que se ha eliminado del dispositivo principal de mantenimiento o máquina anfitriona. El contenido que queremos comprimir puede ser un archivo de documento o un directorio que contenga múltiples subdirectorios o archivos de documentos en él. Para usar la funcionalidad de archivo en la herramienta Ansible, usamos la versión de Ansible 2.3 o arriba de la versión porque antes de esa versión de Ansible, utilizamos el módulo de shell para comprimir una carpeta en Ansible. Para comprimir los archivos y directorios de documentos, hay muchos formatos en Ansible 2.3 versión o superior que usaremos como .cremallera, .alquitrán, .GZ, .BZ2, etc. para archivar el directorio. Para comprimir el archivo o directorio del documento, el dispositivo de host virtual debe contener el contenido que queremos comprimir.

Prerrequisitos para archivar el contenido en Ansible

Suponemos que tiene un controlador Ansible con el Ansible configurado en su dispositivo y algunas máquinas virtuales para que podamos validar la funcionalidad de los módulos de archivo en la herramienta Ansible.

Para comprender el concepto de un módulo de archivo en Ansible, implementemos un ejemplo de un archivo para que podamos entender fácilmente el concepto de comprimir el contenido en Ansible.

Ejemplo: comprimir el archivo o directorio en .Formato zip

Aquí está el primer ejemplo del módulo de archivo Ansible donde comprimimos el documento o el directorio en un .formato zip. Comprimir el documento en .formato de zip, primero creamos el libro de jugadas. En el libro de jugadas, escribimos la ubicación del documento o directorio que queremos comprimir y también escribimos el punto de destino donde queremos colocar el archivo o carpeta de archivo. El comando que se utiliza para construir el libro de jugadas en la herramienta Ansible se enumera en lo siguiente:

[root@maestro ansible]# Archivo nano.YML

Después de escribir el comando, un archivo.Aparece el archivo del libro de jugadas YML. Primero, proporcionamos "todos" a los hosts remotos donde queremos archivar el documento. Para adquirir la información sobre los hosts remotos, la variable Reungue_facts de Playbook de Ansible inicia el módulo de configuración de forma predeterminada al comienzo del archivo.Libro de jugadas YML. Después de eso, escribimos las tareas que queremos hacer en el archivo.Libro de jugadas YML.

En el módulo de la tarea, escribimos el nombre de la tarea. Escribimos el módulo de archivo que muestra que queremos comprimir el documento. En el módulo de archivo, el archivo o directorio de documento que se comprimirá debe proporcionar como el argumento mínimo de "ruta" o tres argumentos que son la "ruta", "des" y "formatear" al comprimir un documento. El argumento de "ruta" contiene la ruta real del documento de origen que es/home/ansible/test.

La ruta del dispositivo objetivo es /tmp /test.zip y el formato del módulo de archivo es .cremallera. Si de alguna manera no se proporciona el directorio de destino, se vuelve al directorio predeterminado del archivo del documento. El siguiente es el libro de jugadas que contiene las tareas completas del módulo de archivo:

- Hospedadores:
- todo
gather_facts: falso
tareas:
- Nombre: Compress Directory/Home/Ansible/Test en Directory/TMP/Test.cremallera
archivo:
ruta:/home/ansible/test
Dest: /TMP /Test.cremallera
Formato: zip

Para salir del archivo de libros de jugadas.YML, presionamos "Ctrl+X" y guardamos las modificaciones presionando la "Y".

Si quieres ejecutar el archivo.Libro de jugadas de YML, primero tenemos que construir el archivo de inventario. A continuación, establecemos las conexiones entre los hosts remotos y el controlador Ansible. Para crear el archivo de inventario, escribimos el siguiente comando:

[root@master ansible]# nano host.YML

El anfitrión.El archivo de inventario YML aparece en la nueva pantalla. Ahora escribimos la información sobre los anfitriones. Desde que escribimos "todos" anfitriones en el archivo.Libro de jugadas de YML, primero escribimos el "All" y luego escribimos la información de "Hosts". Proporcionamos la dirección IP del host, el nombre del usuario ansible, la contraseña del ansible, el nombre de conexión y el número de puerto disponible en el archivo de inventario como puede ver a continuación:

Todo:
Hospedadores:
Anfitrión1:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ********
ansible_connection: ssh
ansible_port: 22

Ahora, ejecutamos el libro de jugadas y el archivo de inventario que ya creamos escribiendo el siguiente comando:

[Root@Master Ansible]# Ansible-Playbook Archive.yml -i anfitrión.YML

Aquí está el resultado de la arraíz ansible.YML Playbook:

Como puede ver en la salida, el directorio de host1 se comprime mostrando la señal "ok".

Módulo inesparcado en Ansible

El módulo no arquivido se utiliza para desempacar o desenredar el contenido del documento o directorio. Para usar el módulo Unarchive de Ansible, el documento o el directorio deben estar disponibles en forma archivada.

Ejemplo: sin comprometer el archivo o directorio del .Formato zip

Ya archivamos el directorio que creamos recientemente. Cuando sin comprimir el directorio o el archivo, proporciona la opción de duplicar el documento o directorio comprimido al host remoto. Para desanimar el documento o el directorio, primero creamos el libro de jugadas donde escribimos la fuente y el destino del directorio.

[root@master ansible]# nano unarchive.YML

Creamos el Unarchive.Libro de jugadas YML. Ahora, escribimos los hosts remotos y las tareas que queremos implementar en el libro de jugadas. En las tareas, escribimos la variable "src" y luego pasamos la ruta del directorio archivado que es /tmp /pre-requisitos.cremallera. Luego, escribimos la variable "des" y colocamos la ruta que es/home/ansible/donde queremos desempacar el contenido del directorio.

- Hospedadores:
- todo
gather_facts: falso
tareas:
- Nombre: requisitos previos de inesperación.Zip desde la máquina del controlador en /home /ansible en la máquina de destino
Unarquivo:
src: /tmp /pre-requisitos.cremallera
Dest:/Home/Ansible/

Ya creamos el archivo de inventario anterior que es host.YML, por lo que no tenemos que construir la conexión nuevamente entre el controlador Ansible y los hosts remotos. Simplemente escribimos el comando Ansible-Playbook y llamamos al host.File de inventario YML en él. Si no tenemos la conexión, construimos la conexión. Para ejecutar el ansible Unarchive.YML Playbook, escriba el siguiente comando:

[root@maestro ansible]# ansible-playbook unarchive.yml -i anfitrión.YML

La siguiente es la salida ejecutable del libro de jugadas Ansible donde desempaquetamos el contenido del directorio:

Conclusión

Aprendimos a comprimir y sin comprometer un documento o directorio utilizando la herramienta Ansible. Primero, tenemos un directorio predeterminado que convertimos a un módulo de archivo. Luego, no arqueamos el directorio archivado implementando el ejemplo del .Formato postal con una explicación detallada.