Red Hat Training

A Red Hat training course is available for RHEL 8

79.7. 使用 Ansible 在 IdM 中存在 SRV 记录

DNS 服务 (SRV) 记录定义域中可用服务的主机名、端口号、传输协议、优先级和权重。在 Identity Management(IdM)中,您可以使用 SRV 记录来定位 IdM 服务器和副本。

本节介绍 Identity Management(IdM)管理员如何使用 Ansible playbook 来确保 IdM DNS 中存在 SRV 记录。在以下示例中,IdM 管理员可确保存在 _kerberos._udp.idm.example.com SRV 记录,其值为 10 50 88 idm.example.com。这会设置以下值:

  • 它将服务的优先级设置为 10。
  • 它将服务的权重设置为 50。
  • 它将服务要使用的端口设置为 88。

先决条件

流程

  1. 导航到 /usr/share/doc/ansible-freeipa/playbooks/dnsrecord 目录:

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
  2. 打开清单文件,并确保 [ipaserver] 部分中列出了您要配置的 IdM 服务器。例如,要指示 Ansible 配置 server.idm.example.com,请输入:

    [ipaserver]
    server.idm.example.com
  3. 生成 ensure-SRV-record-is-present.yml Ansible playbook 文件的副本。例如:

    $ cp ensure-SRV-record-is-present.yml ensure-SRV-record-is-present-copy.yml
  4. 打开 ensure-SRV-record-is-present-copy.yml 文件进行编辑。
  5. 通过在 ipadnsrecord 任务部分设置以下变量来调整文件:

    • ipaadmin_password 变量设置为 IdM 管理员密码。
    • name 变量设置为 _kerberos._udp.idm.example.com
    • srv_rec 变量设置为 '10 50 88 idm.example.com'
    • zone_name 变量设置为 idm.example.com

      对于当前示例,此修改过的 Ansible playbook 文件:

    ---
    - name: Test multiple DNS Records are present.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      # Ensure a SRV record is present
      - ipadnsrecord:
          ipaadmin_password: Secret123
          name: _kerberos._udp.idm.example.com
          srv_rec: ’10 50 88 idm.example.com’
          zone_name: idm.example.com
          state: present
  6. 保存该文件。
  7. 运行 playbook:

    $ ansible-playbook -v -i inventory.file ensure-SRV-record-is-present.yml

其它资源

  • 有关 SRV 记录的更多信息,请参阅 IdM 中的 DNS 记录
  • 您可以在 /usr/share/doc/ansible -freeipa/ 目录中的 README-dnsrecord.md Markdown 文件中看到 ansible -freeipa ipadnsrecord 模块的 更多 Ansible playbook 示例。该文件还包含 ipadnsrecord 变量的定义。
  • 您可以在 /usr/share/doc/ansible-freeipa/playbooks/dnsrecord 目录中看到 ipadnsrecord 模块的 Ansible playbook 示例。