2.3. Ansible을 사용하여 두 복제본 간에 복제 계약이 있는지 확인
RHEL IdM(Identity Management) 서버에 저장된 데이터는 복제 계약을 기반으로 복제됩니다. 두 서버에 복제 계약이 구성된 경우 데이터를 공유합니다. 복제 계약은 항상 양방향입니다. 데이터는 첫 번째 복제본에서 다른 복제본으로 복제될 뿐만 아니라 다른 복제본에서 첫 번째 복제본으로 복제됩니다.
다음 절차에 따라 IdM의 여러 복제본 쌍 간에 복제 계약이 있는지 확인합니다. IdM에 복제 계약이 존재하는지 확인하기 위해 Ansible을 사용하는 것과 달리 이 절차에서는 기존 구성을 수정하지 않습니다.
사전 요구 사항
- 토폴로지의 복제본 연결에 나열된 IdM 토폴로지를 설계하기 위한 권장 사항을 이해해야 합니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.15 이상을 사용하고 있습니다.
-
freeipa.ansible_freeipa
컬렉션을 설치했습니다. - 이 예제에서는 ~/MyPlaybooks/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible vault가
ipaadmin_password
를 저장하고 secret.yml 파일을 보호하는 암호를 저장하는 파일에 대한 액세스 권한이 있다고 가정합니다.
-
freeipa.ansible_freeipa
모듈이 실행되는 대상 노드인 대상 노드는 IdM 도메인의 일부입니다. IdM 클라이언트, 서버 또는 복제본입니다.
프로세스
~/MyPlaybooks/ 디렉터리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipa
패키지에서 제공하는check-topologysegments.yml
Ansible 플레이북 파일을 복사합니다.cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
편집을 위해
check-topologysegments-copy.yml
파일을 엽니다. vars
섹션에서 다음 변수를 설정하여 파일을 조정합니다.-
ipaadmin_password
변수 값이 secret.yml Ansible vault 파일에 정의되어 있음을 나타냅니다. 모든 토폴로지 세그먼트에 대해
ipatopology_segments
섹션에 행을 추가하고 다음 변수를 설정합니다.-
추가 세그먼트 유형에 따라
접미사
변수를domain
또는ca
로 설정합니다. -
왼쪽
변수를 복제 계약의 왼쪽 노드가 될 IdM 서버의 이름으로 설정합니다. -
올바른
변수를 복제 계약의 올바른 노드가 될 IdM 서버의 이름으로 설정합니다.
-
추가 세그먼트 유형에 따라
-
check-topologysegments-copy.yml
파일의tasks
섹션에서state
변수가present
로 설정되어 있는지 확인합니다.현재 예에 대해 수정된 Ansible 플레이북 파일입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
Ansible 플레이북을 실행합니다. 플레이북 파일을 지정하고 secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow