19.7. Ansible 플레이북을 사용하여 IdM 호스트 그룹에서 중첩된 호스트 그룹이 없는지 확인
Ansible 플레이북을 사용하여 RHEL IdM(Identity Management)의 외부 호스트 그룹에서 중첩된 호스트 그룹이 없는지 확인하려면 다음 절차를 따르십시오.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
freeipa.ansible_freeipa컬렉션을 설치했습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
-
freeipa.ansible_freeipa모듈이 실행되는 대상 노드인 대상 노드는 IdM 도메인의 일부입니다. IdM 클라이언트, 서버 또는 복제본입니다. - Ansible 플레이북 파일에서 참조하는 호스트 그룹은 IdM에 있습니다. 자세한 내용은 Ansible 플레이북을 사용하여 IdM 호스트 그룹의 존재 여부를 참조하십시오.
프로세스
필요한 호스트 그룹 정보를 사용하여 Ansible 플레이북 파일을 생성합니다.
-
name 변수를 사용하여
freeipa.ansible_freeipa.ipahostgroup변수 중에서 외부 호스트 그룹의이름을지정합니다. -
hostgroup 변수를 사용하여 중첩된
호스트 그룹의이름을 지정합니다.
이 단계를 단순화하기 위해
/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/hostgroup/ensure-hosts-and-hostgroups-absent-in-hostgroup.yml 파일에서 예제를 복사하고 수정할 수 있습니다.--- - name: Playbook to handle hostgroups hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure hosts and hostgroups are absent in existing databases hostgroup - freeipa.ansible_freeipa.ipahostgroup: ipaadmin_password: "{{ ipaadmin_password }}" name: databases hostgroup: - mysql-server - oracle-server action: member state: absent이 플레이북은 mysql-server 및 Oracle-server 호스트 그룹이 databases 호스트 그룹에 없는지 확인합니다.
action: member행은 플레이북이 실행될 때 데이터베이스 그룹 자체가 IdM에서 삭제되었는지 확인하기 위한 시도가 이루어지지 않음을 나타냅니다.-
name 변수를 사용하여
Playbook을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-or-hostgroups-are-absent-in-hostgroup.yml
검증
admin으로
ipaserver에 로그인합니다.$ ssh admin@server.idm.example.com Password: [admin@server /]$admin에 Kerberos 티켓을 요청합니다.
$ kinit admin Password for admin@IDM.EXAMPLE.COM:중첩된 호스트 그룹이 없어야 하는 호스트 그룹에 대한 정보를 표시합니다.
$ ipa hostgroup-show databases Host-group: databases
출력은 mysql-server 및 Oracle-server 중첩된 호스트 그룹이 외부 데이터베이스 호스트 그룹에서 없음을 확인합니다.