18.2. Ansible 플레이북을 사용하여 IdM 호스트 그룹이 있는지 확인
Ansible 플레이북을 사용하여 IdM(Identity Management)에 호스트 그룹이 있는지 확인하려면 다음 절차를 따르십시오.
Ansible이 없으면 ipa hostgroup-add
명령을 사용하여 IdM에 호스트 그룹 항목이 생성됩니다. IdM에 호스트 그룹을 추가하는 결과는 IdM에 호스트 그룹 상태가 됩니다. Ansible의 idempotence on idempotence 때문에 Ansible을 사용하여 호스트 그룹을 IdM에 추가하려면 호스트 그룹의 상태를 present: state: present 로 정의하는 플레이북을 생성해야 합니다.
사전 요구 사항
- IdM 관리자 암호를 알고 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password
를 저장한다고 가정합니다.
-
ansible-freeipa
모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
인벤토리 파일(예:
inventory.file
)을 생성하고 타겟할 IdM 서버 목록으로ipaserver
를 정의합니다.[ipaserver] server.idm.example.com
필요한 호스트 그룹 정보를 사용하여 Ansible 플레이북 파일을 생성합니다. 예를 들어 databases 라는 호스트 그룹이 있는지 확인하려면
- ipahostgroup
작업에name: databases
를 지정합니다. 이 단계를 단순화하기 위해/usr/share/doc/ansible-freeipa/playbooks/user/ensure-hostgroup-is-present.yml
파일에서 예제를 복사하고 수정할 수 있습니다.--- - name: Playbook to handle hostgroups hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure host-group databases is present - ipahostgroup: ipaadmin_password: "{{ ipaadmin_password }}" name: databases state: present
플레이북에서 state: present 는 이미 존재하지 않는 한 호스트 그룹을 IdM에 추가하라는 요청을 나타냅니다.
플레이북을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hostgroup-is-present.yml
검증
admin으로
ipaserver
에 로그인합니다.$ ssh admin@server.idm.example.com Password: [admin@server /]$
관리자를 위한 Kerberos 티켓을 요청합니다.
$ kinit admin Password for admin@IDM.EXAMPLE.COM:
다음을 확인하려는 IdM에 있는 호스트 그룹에 대한 정보를 표시합니다.
$ ipa hostgroup-show databases Host-group: databases
IdM에 데이터베이스 호스트 그룹이 있습니다.