12.2. 使用 systemd 系统角色部署并启动 systemd 单元

您可以应用 systemd RHEL 系统角色,来在目标主机上执行与 systemd 单元管理相关的任务。您将在 playbook 中设置 systemd 系统角色变量,以定义 systemd 管理、启动和启用哪些单元文件。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户对其具有 sudo 权限。
  • 要在其上运行此 playbook 的受管节点或受管节点组列在 Ansible 清单文件中。

流程

  1. 创建包含以下内容的 playbook.yml 文件:

    - name: Deploy and start systemd unit
      hosts: all
      vars:
        systemd_unit_files:
          - <name1>.service
          - <name2>.service
          - <name3>.service
        systemd_started_units:
          - <name1>.service
          - <name2>.service
          - <name3>.service
        systemd_enabled_units:
          - <name1>.service
          - <name2>.service
          - <name3>.service
      roles:
        - linux-system-roles.systemd
  2. 可选:验证 playbook 语法:

    # ansible-playbook --syntax-check playbook.yml -i inventory_file
  3. 在清单文件上运行 playbook:

    # ansible-playbook -i inventory_file /path/to/file/playbook.yml