29.3. Garantir a presença de múltiplas entradas no host IdM com senhas aleatórias usando Livros de Jogadas Ansíveis
O módulo ipahost permite ao administrador do sistema garantir a presença ou ausência de múltiplas entradas no IdM usando apenas uma tarefa possível. Esta seção descreve como garantir a presença de múltiplas entradas de host que são definidas apenas por seus fully-qualified domain names (FQDNs). A execução do Ansible playbook gera senhas aleatórias para os hosts.
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
Criar um arquivo de inventário, por exemplo
inventory.file, e definiripaserverno mesmo:[ipaserver] server.idm.example.com
[ipaserver] server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow Crie um arquivo de playbook possível com o
fully-qualified domain name(FQDN) dos anfitriões cuja presença na IdM você quer garantir. Para fazer com que o Ansible playbook gere uma senha aleatória para cada host mesmo quando o host já existe na IdM eupdate_passwordestá limitado aon_create, adicione as opçõesrandom: yeseforce: yes. Para simplificar esta etapa, você pode copiar e modificar o exemplo do arquivo Markdown de/usr/share/doc/ansible-freeipa/README-host.md:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Execute o livro de brincadeiras:
ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-are-present.yml
$ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-are-present.yml [...] TASK [Hosts host01.idm.example.com and host02.idm.example.com present with random passwords] changed: [r8server.idm.example.com] => {"changed": true, "host": {"host01.idm.example.com": {"randompassword": "0HoIRvjUdH0Ycbf6uYdWTxH"}, "host02.idm.example.com": {"randompassword": "5VdLgrf3wvojmACdHC3uA3s"}}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Para implantar os anfitriões como clientes IdM usando senhas aleatórias e únicas (OTPs), veja Opções de autorização para inscrição de clientes IdM usando um livro de exercícios ou Instalação de um cliente usando uma senha única: Instalação interativa.
Etapas de verificação
Faça o login em seu servidor IdM como administrador:
ssh admin@server.idm.example.com
$ ssh admin@server.idm.example.com Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Digite o comando
ipa host-showe especifique o nome de um dos anfitriões:ipa host-show host01.idm.example.com
$ ipa host-show host01.idm.example.com Host name: host01.idm.example.com Password: True Keytab: False Managed by: host01.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
A saída confirma que host01.idm.example.com existe na IdM com uma senha aleatória.