Red Hat Training

A Red Hat training course is available for RHEL 8

32.3. Anidación de grupos de hosts de IdM mediante libros de juego de Ansible

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

Requisitos previos

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. Para asegurarse de que un grupo de hosts anidado A existe en un grupo de hosts B: en el libro de jugadas de Ansible, especifique, entre las variables - ipahostgroup, el nombre del grupo de hosts B con la variable name. Especifique el nombre del grupo de hosts anidado A con la variable hostgroup. Para simplificar este paso, puede copiar y modificar los ejemplos en el archivo /usr/share/doc/ansible-freeipa/playbooks/hostgroup/ensure-hosts-and-hostgroups-are-present-in-hostgroup.yml:

    ---
    - name: Playbook to handle hostgroups
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure hosts and hostgroups are present in existing databases hostgroup
      - ipahostgroup:
          ipaadmin_password: MySecret123
          name: databases
          hostgroup:
          - mysql-server
          - oracle-server
          action: member

    Este libro de jugadas de Ansible garantiza la presencia de los grupos de hosts myqsl-server y oracle-server en el grupo de hosts databases. La línea action: member indica que cuando se ejecuta el libro de jugadas, no se intenta añadir el grupo databases a IdM.

  3. Ejecuta el libro de jugadas:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-or-hostgroups-are-present-in-hostgroup.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 en el que hay grupos de hosts anidados:

    $ ipa hostgroup-show databases
      Host-group: databases
      Member hosts: db.idm.example.com
      Member host-groups: mysql-server, oracle-server

Los grupos de hosts mysql-server y oracle-server existen en el grupo de hosts databases.