5.3. ansible-freeipa 中的清单插件


您可以使用 ansible-freeipa freeipa 清单插件创建要在 ansible-freeipa playbook 中使用的身份管理(IdM)服务器的动态清单。插件收集有关域中 IdM 服务器的数据,并仅选择指定了 IdM 服务器角色或分配了角色的 IdM 服务器。要将插件与 ansible-playbook 命令一起使用,请将 -i 选项的值设置为使用 freeipa 插件的清单文件。因此,playbook 中的 play 仅针对那些在清单文件中指定了角色的服务器执行。

以下示例描述了如何使用 freeipa 插件确定具有 DNS 角色的拓扑中的 IdM 服务器上 bind 软件包的版本。

流程

  1. 创建一个文件,如 inventory.yml,来根据您选择的 IdM 服务器角色或角色生成动态清单。例如,要创建具有 IdM DNS 服务器角色的服务器的清单:

    ---
    plugin: freeipa
    server: server.idm.example.com
    ipaadmin_password: Secret123
    verify: ca.crt
    role: DNS server
    Copy to Clipboard Toggle word wrap
    • server 定义要开始扫描的主机的完全限定域名。
    • verify 定义用于验证的服务器 TLS 证书文件。
    • role 定义主机必须具有的所有服务器角色,以便返回主机。
  2. 创建一个您要针对 freeipa 清单插件识别的 IdM 服务器执行的 playbook,如 bind-playbook.yml。例如,要确定 IdM DNS 服务器上安装的 bind 软件包的发行版本:

    ---
    - name: Check bind version
      hosts: ipaservers
    
      tasks:
        - name: Query bind package version
          package:
            name: bind
            state: present
          register: bind_version
    
        - name: Display bind release info
          debug:
            msg: "Bind release: {{ bind_version.results[0].version }}"
    Copy to Clipboard Toggle word wrap
  3. 可选:创建由插件标识的 IdM 服务器的图形表示:

    $ ansible-inventory -i inventory.yml --graph
    @all:
      |--@ungrouped
      |--@ipaservers:
      |  |--replica01.idm.example.com
    Copy to Clipboard Toggle word wrap
  4. 运行 Ansible playbook。将 inventory.yml 文件指定为清单:

    $ ansible-playbook -i inventory.yml bind-playbook.yml
    [...]
    TASK [Display bind release info]
    ok: [10.0.193.174] => {
        "msg": "Bind release: 9.20.3"
    }
    [...]
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat