32.5. Garantizar la ausencia de hosts de los grupos de hosts de IdM mediante los libros de juego de Ansible
En esta sección se describe cómo garantizar la ausencia de hosts de los grupos de hosts en la gestión de identidades (IdM) mediante los libros de juego de Ansible.
Requisitos previos
- Conoce la contraseña del administrador de IdM.
- Ha instalado el paquete ansible-freeipa en el controlador de Ansible.
- Los hosts a los que desea hacer referencia en su libro de jugadas de Ansible existen en IdM. Para obtener más detalles, consulte Garantizar la presencia de una entrada de host de IdM mediante los libros de reproducción de Ansible.
- Los grupos de hosts a los que se hace referencia desde el archivo del libro de jugadas de Ansible existen en IdM. Para obtener más detalles, consulte Garantizar la presencia de los grupos de hosts de IdM mediante los playbooks de Ansible.
Procedimiento
Cree un archivo de inventario, por ejemplo
inventory.file, y defina en élipaservercon la lista de servidores IdM a los que dirigirse:[ipaserver] server.idm.example.comCree un archivo de playbook de Ansible con la información necesaria sobre el host y el grupo de hosts. Especifique el nombre del grupo de hosts utilizando el parámetro
namede la variableipahostgroup. Especifique el nombre del host cuya ausencia del grupo de hosts desea asegurar utilizando el parámetrohostde la variableipahostgroup. Para simplificar este paso, puede copiar y modificar los ejemplos del archivo/usr/share/doc/ansible-freeipa/playbooks/hostgroup/ensure-hosts-and-hostgroups-are-absent-in-hostgroup.yml:--- - name: Playbook to handle hostgroups hosts: ipaserver become: true tasks: # Ensure host-group databases is absent - ipahostgroup: ipaadmin_password: MySecret123 name: databases host: - db.idm.example.com action: member state: absentEste libro de jugadas asegura la ausencia del host db.idm.example.com del grupo de hosts databases. La línea action: member indica que cuando se ejecuta el libro de jugadas, no se intenta eliminar el propio grupo databases.
Ejecuta el libro de jugadas:
$ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-or-hostgroups-are-absent-in-hostgroup.yml
Pasos de verificación
Entre en
ipaservercomo administrador:$ ssh admin@server.idm.example.com Password: [admin@server /]$Solicitar un ticket Kerberos para el administrador:
$ kinit admin Password for admin@IDM.EXAMPLE.COM:Muestra información sobre el grupo de hosts y los hosts que contiene:
$ ipa hostgroup-show databases Host-group: databases Member host-groups: mysql-server, oracle-server
El host db.idm.example.com no existe en el grupo de hosts databases.