Red Hat Training

A Red Hat training course is available for RHEL 8

第 67 章 使用 Ansible 在 IdM 中确保存在或不存在服务

使用 Ansible service 模块时,管理员可以确保 IdM 中存在或不存在不原生 IdM 的特定服务。例如,您可以使用 service 模块:

67.1. 使用 Ansible playbook 在 IdM 中存在 HTTP 服务

本节论述了如何使用 Ansible playbook 在 IdM 中确保存在 HTTP 服务器。

先决条件

  • 托管 HTTP 服务的系统是一个 IdM 客户端。
  • 您有 IdM 管理员密码。

流程

  1. 创建一个清单文件,如 inventory.file

    $ touch inventory.file
  2. 打开 inventory.file,并在 [ipaserver] 部分中定义您要配置的 IdM 服务器。例如,要指示 Ansible 配置 server.idm.example.com,请输入:

    [ipaserver]
    server.idm.example.com
  3. 生成 /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml Ansible playbook 文件的副本。例如:

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
  4. 打开 /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml Ansible playbook 文件进行编辑:

    ---
    - name: Playbook to manage IPA service.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      # Ensure service is present
      - ipaservice:
          ipaadmin_password: Secret123
          name: HTTP/client.idm.example.com
  5. 调整文件:

    • 更改 ipaadmin_password 变量定义的 IdM 管理员密码。
    • 更改运行 HTTP 服务的 IdM 客户端的名称,如 ipaservice 任务 的名称 变量所定义。
  6. 保存并退出文件。
  7. 运行指定 playbook 文件和清单文件的 Ansible playbook:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml

验证步骤

  1. 以 IdM 管理员身份登录 IdM Web UI。
  2. 导航到 IdentityServices

如果 Services 列表中列出了 HTTP/client.idm.example.com@IDM.EXAMPLE.COM,Ansible playbook 已成功添加到 IdM。