Red Hat Training

A Red Hat training course is available for RHEL 8

29.2. Assegurar a presença de uma entrada de um host IdM com informações DNS usando Livros de Jogadas Ansíveis

Esta seção descreve como garantir a presença de entradas de anfitriões no Gerenciamento de Identidade (IdM) usando Livros de Jogadas Ansíveis. As entradas do host são definidas por seus fully-qualified domain names (FQDNs) e seus endereços IP.

Nota

Sem Ansible, as entradas do host são criadas no IdM usando o comando ipa host-add. O resultado da adição de um host ao IdM é o estado do host que está presente no IdM. Devido à possível dependência do Idempotence, para adicionar um host ao IdM usando o Ansible, você deve criar um playbook no qual você define o estado do host como presente: state: present.

Pré-requisitos

  • Você sabe a senha do administrador da IdM.
  • O pacote ansible-freeipa é instalado no controlador Ansible.

Procedimento

  1. Criar um arquivo de inventário, por exemplo inventory.file, e definir ipaserver no mesmo:

    [ipaserver]
    server.idm.example.com
  2. Crie um arquivo de playbook possível com o fully-qualified domain name (FQDN) do anfitrião cuja presença na IdM você quer garantir. Além disso, se o servidor IdM estiver configurado para gerenciar o DNS e você conhecer o endereço IP do host, especifique um valor para o parâmetro ip_address. O endereço IP é necessário para que o host exista nos registros de recursos DNS. Para simplificar esta etapa, você pode copiar e modificar o exemplo no arquivo /usr/share/doc/ansible-freeipa/playbooks/host/host-present.yml. Você também pode incluir outras informações adicionais:

    ---
    - name: Host present
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Ensure host01.idm.example.com is present
        ipahost:
          ipaadmin_password: MySecret123
          name: host01.idm.example.com
          description: Example host
          ip_address: 192.168.0.123
          locality: Lab
          ns_host_location: Lab
          ns_os_version: CentOS 7
          ns_hardware_platform: Lenovo T61
          mac_address:
          - "08:00:27:E3:B1:2D"
          - "52:54:00:BD:97:1E"
          state: present
  3. Execute o livro de brincadeiras:

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

O procedimento resulta na criação de uma entrada de host no servidor LDAP da IdM, mas não na inscrição do host no reino da IdM Kerberos. Para isso, deve-se implantar o host como um cliente IdM. Para detalhes, consulte Instalando um cliente de Gerenciamento de Identidade usando um livro de exercícios.

Etapas de verificação

  1. Faça o login em seu servidor IdM como administrador:

    $ ssh admin@server.idm.example.com
    Password:
  2. Digite o comando ipa host-show e especifique o nome do anfitrião:

    $ ipa host-show host01.idm.example.com
      Host name: host01.idm.example.com
      Description: Example host
      Locality: Lab
      Location: Lab
      Platform: Lenovo T61
      Operating system: CentOS 7
      Principal name: host/host01.idm.example.com@IDM.EXAMPLE.COM
      Principal alias: host/host01.idm.example.com@IDM.EXAMPLE.COM
      MAC address: 08:00:27:E3:B1:2D, 52:54:00:BD:97:1E
      Password: False
      Keytab: False
      Managed by: host01.idm.example.com

A saída confirma que host01.idm.example.com existe na IdM.