39장. Ansible을 사용하여 IdM의 복제 토폴로지 관리
여러 IdM(Identity Management) 서버를 유지 관리하고 중복을 위해 서로 복제하여 서버 손실을 완화하거나 방지할 수 있습니다. 예를 들어, 한 서버가 실패하면 다른 서버는 계속 도메인에 서비스를 제공합니다. 나머지 서버 중 하나를 기반으로 새 복제본을 만들어 손실된 서버를 복구할 수도 있습니다.
IdM 서버에 저장된 데이터는 복제 계약에 따라 복제됩니다. 두 서버에 복제 계약이 구성된 경우 해당 데이터를 공유합니다. 복제된 데이터는 토폴로지 접미사 에 저장됩니다. 두 복제본에 접미사 간 복제 계약이 있는 경우 접미사는 토폴로지 세그먼트 를 형성합니다.
이 장에서는 Red Hat Ansible Engine 을 사용하여 IdM 복제 계약, 토폴로지 세그먼트 및 토폴로지 접미사를 관리하는 방법을 설명합니다. 장에는 다음 섹션이 포함되어 있습니다.
39.1. Ansible을 사용하여 IdM에 복제 계약이 있는지 확인 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 서버에 저장된 데이터는 복제 계약에 따라 복제됩니다. 두 서버에 복제 계약이 구성된 경우 데이터를 공유합니다. 복제 계약은 항상 양방향입니다. 데이터는 첫 번째 복제본에서 다른 복제본으로는 물론 다른 복제본으로 복제됩니다.
Ansible 플레이북을 사용하여 server.idm.example.com 과 replica.idm.example.com 사이에 도메인 유형의 복제 계약이 있는지 확인합니다.
사전 요구 사항
- 토폴로지의 IdM 복제본 연결을 위해 지침에 나열된 IdM 토폴로지를 설계하기 위한 권장 사항을 이해해야 합니다.
-
IdM
관리자암호를 알고 있습니다. 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password를 저장하는 것으로 가정합니다.
-
ansible-freeipa모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
~/MyPlaybooks/ 디렉터리로 이동합니다.
$ cd ~/MyPlaybooks//usr/share/doc/ansibleAnsible 플레이북 파일을 복사합니다.-freeipa/playbooks/topology/ 디렉터리에 있는 add-topologysegment.yml$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/add-topologysegment.yml add-topologysegment-copy.yml-
add-topologysegment-copy.yml파일을 열어 편집합니다. ipatopologysegment작업 섹션에서 다음 변수를 설정하여 파일을 조정합니다.-
ipaadmin_password변수를 IdM관리자의암호로 설정합니다. -
추가하려는 세그먼트 유형에 따라
접미사변수를domain또는ca로 설정합니다. -
복제 계약의
왼쪽노드가 되고자 하는 IdM 서버의 이름으로 왼쪽 변수를 설정합니다. -
올바른변수를 복제 계약의 올바른 노드로 설정하고자 하는 IdM 서버의 이름으로 설정합니다. -
state변수가present로 설정되어 있는지 확인합니다.
이는 현재 예제에 대한 수정된 Ansible 플레이북 파일입니다.
--- - name: Playbook to handle topologysegment hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Add topology segment ipatopologysegment: ipaadmin_password: "{{ ipaadmin_password }}" suffix: domain left: server.idm.example.com right: replica.idm.example.com state: present-
- 파일을 저장합니다.
Ansible 플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-topologysegment-copy.yml