GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear y usar datos personalizados en Ansible

Los hechos personalizados (hechos locales) son las variables que se declaran en el host administrado ansible. Los hechos personalizados se declaran en un archivo ini o json en el directorio /etc/ansible/facts.d en el host administrado. Los nombres de archivo de hechos personalizados deben tener la extensión .fact.

En este artículo, cubriremos cómo crear y usar hechos personalizados para instalar el servidor de archivos samba e iniciar su servicio en el host administrado ansible. Aquí estamos usando host1 y host2 como parte del grupo de servidores de archivos en el inventario.

Para demostrar hechos personalizados, la siguiente es mi configuración de laboratorio

  • control.ejemplo.com —  10.20.0.57
  • host1.example.com   —  10.20.0.10       // Host administrado de Ansible
  • host3.example.com   — 10.20.0.30         // Hosts administrados de Ansible

Nota: El usuario devops está configurado en hosts administrados y de control ansible con derechos sudo. El inventario y el archivo ansible.cfg se definen en el directorio /home/develops/install. El contenido de mi inventario se muestra a continuación:

[[email protected] install]$ cat inventory
[fileservers]
host1.example.com
host3.example.com

[dbservers]
host2.example.com
host1.example.com
[[email protected] install]$

Los pasos lógicos para declarar y usar hechos locales personalizados son

  • Cree un archivo de hechos en el host de control ansible con la extensión .fact
  • Cree una jugada en el libro de jugadas para crear una carpeta '/etc/ansible/facts.d' y copie el archivo de hechos en los hosts administrados en esta carpeta.
  • Cree una segunda jugada en el libro de jugadas que usará estos hechos personalizados usando ansible_local... para instalar el servidor samba e iniciar su servicio.

Profundicemos en la implementación real de hechos personalizados o locales.

Paso 1) Crear un archivo de hechos personalizado en el nodo de control

Vamos a crear el archivo customfacts.fact con los siguientes contenidos

[[email protected] install]$ cat customfacts.fact
[localfacts]
pkgname = samba
srvc = smb
[[email protected] install]$

Aquí localfacts es factname y pkgname &srvc son variables.

Paso 2) Crea un libro de jugadas con dos jugadas diferentes

Cree el libro de jugadas customfacts-install.yaml con los siguientes contenidos

[[email protected] install]$ vi customfacts-install.yaml
---
- name: Install custom facts
  hosts: fileservers
  vars:
    remote_dir: /etc/ansible/facts.d
    facts_file: customfacts.fact
  tasks:
  - name: Create Facts Dir on Managed Hosts
    file:
      path: "{{ remote_dir }}"
      state: directory
      recurse: yes
  - name: Copy Contents to Facts file
    copy:
      src: "{{ facts_file }}"
      dest: "{{ remote_dir }}"

- name: Install Samba Server with Custom Facts
  hosts: fileservers
  tasks:
  - name: Install SMB
    package:
      name: "{{ ansible_local.customfacts.localfacts.pkgname }}"
      state: present
  - name: Start SMB Service
    service:
      name: "{{ ansible_local.customfacts.localfacts.srvc }}"
      state: started
      enabled: yes

guardar y salir del archivo.

Paso 3) Ejecute el libro de jugadas en servidores de archivos

Ejecutaremos el libro de jugadas en los servidores de archivos, antes de ejecutarlo, verifiquemos la conectividad desde el nodo de control hacia estos nodos.

[[email protected] install]$ ansible fileservers -m ping

Arriba confirma que el ping pong funciona bien, así que ejecutemos el libro de jugadas ansible usando el comando debajo,

[[email protected] install]$ ansible-playbook customfacts-install.yaml

El resultado anterior muestra que el libro de jugadas se ha ejecutado correctamente. Verifiquemos la instalación de hechos personalizados y el servicio samba.

Paso 5) Verificar datos locales personalizados y el servicio Samba

Ejecute debajo del comando ad-hoc de ansible para verificar la instalación de hechos personalizados,

[[email protected] install]$ ansible fileservers -m setup -a "filter=ansible_local"

Verifique el estado del servicio del servidor Samba ejecutando a continuación:

[[email protected] install]$ ansible fileservers -m command -a "systemctl status smb"

Perfecto, el resultado anterior confirma que Samba se instaló correctamente y que su servicio está en funcionamiento.

Eso es todo de este artículo, espero que tenga una idea básica sobre la instalación de datos personalizados y su uso.


Linux
  1. Cómo uso Ansible y Anacron para la automatización

  2. Cómo crear y usar subdominios

  3. Cómo usar GParted para crear y cambiar el tamaño de particiones fácilmente

  4. Cómo crear un alias y usar el comando Alias ​​en Linux

  5. Cómo crear un libro de jugadas de Ansible

Cómo crear una imagen de máquina de Amazon (AMI) y usarla en AWS

Cómo definir y usar controladores en Ansible Playbooks

Cómo crear y ejecutar un archivo de libro de jugadas de Ansible

Cómo usar Ansible para configurar Vim

Cómo instalar y usar Ansible en Debian 10

Cómo crear y usar un archivo de intercambio en Linux