5.5. 使用 Ansible 确保缺少 IdM 位置


在停用地理站点或重新构建拓扑时,使用 Ansible 从身份管理(IdM)中删除 DNS 位置。

作为身份管理系统管理员(IdM),您可以配置 IdM DNS 位置,以允许客户端在最接近的网络基础架构中查找身份验证服务器。

以下流程描述了如何使用 Ansible playbook 来确保 IdM 中没有 DNS 位置。这个示例描述了如何确保 IdM 中没有 germany DNS 位置。因此,您无法将特定的 IdM 服务器分配给这个位置,本地 IdM 客户端无法使用它们。

先决条件

  • 没有 IdM 服务器被分配给 germany DNS 位置。
  • 您已配置了 Ansible 控制节点以满足以下要求:

    • 您在使用 Ansible 版本 2.15 或更高版本。
    • 您已安装了 ansible-freeipa 软件包。
    • 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 示例假定 secret.yml Ansible vault 存储了您的 ipaadmin_password,并且您可以访问存储了保护 secret.yml 文件的密码的文件。
  • 目标节点(也就是在其上执行 freeipa.ansible_freeipa 模块的节点)作为 IdM 客户端、服务器或副本,是 IdM 域的一部分。
  • 示例假定您已 创建并配置了 ~/MyPlaybooks/ 目录,来作为存储示例 playbook 副本的中心位置。

流程

  1. 进入 ~/MyPlaybooks/ 目录:

    $ cd ~/MyPlaybooks/
  2. 制作 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/location/ 目录中 location-absent.yml 文件的一个副本:

    $ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/location/location-absent.yml location-absent-copy.yml
  3. 打开 location-absent-copy.yml Ansible playbook 文件以进行编辑。
  4. 通过在 freeipa.ansible_freeipa.ipalocation 任务部分设置以下变量来调整文件:

    • 调整任务的 name,使其与您的用例对应。
    • 表示 ipaadmin_password 变量的值已在 secret.yml Ansible vault 文件中定义。
    • name 变量设置为 DNS 位置的名称。
    • 确保 state 变量设置为 absent

    这是当前示例修改的 Ansible playbook 文件:

    ---
    - name: location absent example
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure that the "germany" location is absent
        freeipa.ansible_freeipa.ipalocation:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: germany
          state: absent
  5. 保存该文件。

    有关 FreeIPA Ansible 集合中变量和示例 playbook 的详情,请查看控制节点上的 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/README-location.md 文件和 /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/location 目录。

  6. 运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i inventory location-absent-copy.yml
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部