Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 32. Gestión de grupos de hosts mediante los playbooks de Ansible

En este capítulo se describe el uso de Ansible para realizar las siguientes operaciones relacionadas con los grupos de hosts en la gestión de identidades (IdM):

32.1. Garantizar la presencia de los grupos de hosts de IdM mediante los playbooks de Ansible

En esta sección se describe cómo garantizar la presencia de grupos de hosts en Identity Management (IdM) mediante los libros de juego de Ansible.

Nota

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

Requisitos previos

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

Procedimiento

  1. Cree un archivo de inventario, por ejemplo inventory.file, y defina en él ipaserver con la lista de servidores IdM a los que dirigirse:

    [ipaserver]
    server.idm.example.com
  2. Cree un archivo de playbook de Ansible con la información necesaria del grupo de hosts. Por ejemplo, para garantizar la presencia de un grupo de hosts llamado databases, especifique name: databases en la tarea - ipahostgroup. Para simplificar este paso, puede copiar y modificar el ejemplo en el archivo /usr/share/doc/ansible-freeipa/playbooks/user/ensure-hostgroup-is-present.yml.

    ---
    - name: Playbook to handle hostgroups
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure host-group databases is present
      - ipahostgroup:
          ipaadmin_password: MySecret123
          name: databases
          state: present

    En el libro de jugadas, state: present significa una solicitud para añadir el grupo de hosts a IdM a menos que ya exista allí.

  3. Ejecuta el libro de jugadas:

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

Pasos de verificación

  1. Entre en ipaserver como administrador:

    $ ssh admin@server.idm.example.com
    Password:
    [admin@server /]$
  2. Solicitar un ticket Kerberos para el administrador:

    $ kinit admin
    Password for admin@IDM.EXAMPLE.COM:
  3. Muestra información sobre el grupo de hosts cuya presencia en IdM desea asegurar:

    $ ipa hostgroup-show databases
      Host-group: databases

El grupo de hosts databases existe en IdM.