Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 29. Gestión de los hosts mediante libros de juego de Ansible

Ansible es una herramienta de automatización que se utiliza para configurar sistemas, desplegar software y realizar actualizaciones continuas. Ansible incluye soporte para la gestión de identidades (IdM), y puede utilizar módulos de Ansible para automatizar la gestión de hosts.

En este capítulo se describen las siguientes operaciones que se realizan cuando se gestionan los hosts y las entradas de hosts mediante los libros de reproducción de Ansible:

29.1. Garantizar la presencia de una entrada de host de IdM con FQDN utilizando los libros de juego de Ansible

En esta sección se describe cómo garantizar la presencia de entradas de host en Identity Management (IdM) mediante los libros de juego de Ansible. Las entradas de host sólo se definen por su fully-qualified domain names (FQDNs).

Especificar el nombre FQDN del host es suficiente si se cumple al menos una de las siguientes condiciones:

  • El servidor IdM no está configurado para gestionar el DNS.
  • El host no tiene una dirección IP estática o la dirección IP no se conoce en el momento de configurar el host. Al añadir un host definido únicamente por un FQDN se crea esencialmente una entrada de marcador de posición en el servicio DNS de IdM. Por ejemplo, los ordenadores portátiles pueden estar preconfigurados como clientes IdM, pero no tienen direcciones IP en el momento en que se configuran. Cuando el servicio DNS actualiza dinámicamente sus registros, se detecta la dirección IP actual del host y se actualiza su registro DNS.
Nota

Sin Ansible, las entradas de host se crean en IdM mediante el comando ipa host-add. El resultado de añadir un host a IdM es el estado del host presente en IdM. Debido a la dependencia de Ansible en la idempotencia, para añadir un host a IdM utilizando Ansible, debe crear un libro de jugadas en el que se define el estado del host como presente: state: present.

Requisitos previos

  • Conoce la contraseña del administrador de IdM.
  • El paquete ansible-freeipa está instalado en el controlador Ansible.

Procedimiento

  1. Cree un archivo de inventario, por ejemplo inventory.file, y defina en él ipaserver:

    [ipaserver]
    server.idm.example.com
  2. Crea un archivo de playbook de Ansible con el FQDN del host cuya presencia en IdM quieres asegurar. Para simplificar este paso, puedes copiar y modificar el ejemplo en el archivo /usr/share/doc/ansible-freeipa/playbooks/host/add-host.yml:

    ---
    - name: Host present
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Host host01.idm.example.com present
        ipahost:
          ipaadmin_password: MySecret123
          name: host01.idm.example.com
          state: present
          force: yes
  3. Ejecuta el libro de jugadas:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-host-is-present.yml
Nota

El procedimiento da lugar a la creación de una entrada de host en el servidor LDAP de IdM, pero no a la inscripción del host en el ámbito de Kerberos de IdM. Para ello, debe implementar el host como cliente de IdM. Para obtener más detalles, consulte Instalación de un cliente de gestión de identidades mediante un libro de jugadas de Ansible.

Pasos de verificación

  1. Inicie sesión en su servidor IdM como administrador:

    $ ssh admin@server.idm.example.com
    Password:
  2. Introduzca el comando ipa host-show y especifique el nombre del host:

    $ ipa host-show host01.idm.example.com
      Host name: host01.idm.example.com
      Principal name: host/host01.idm.example.com@IDM.EXAMPLE.COM
      Principal alias: host/host01.idm.example.com@IDM.EXAMPLE.COM
      Password: False
      Keytab: False
      Managed by: host01.idm.example.com

La salida confirma que host01.idm.example.com existe en IdM.