第 12 章 使用 systemd RHEL 系统角色管理 systemd 单元

使用 systemd 系统角色,您可以使用 Red Hat Ansible Automation Platform 在多个系统上部署单元文件并管理 systemd 单元。

您可以使用 systemd 系统角色 playbook 中的 systemd_units 变量来深入了解目标系统上 systemd 单元的状态。变量显示一个字典列表。每个字典条目描述了受管主机上存在的一个 systemd 单元的状态和配置。systemd_units 变量作为任务执行的最后一步被更新,并在角色运行所有任务后捕获状态。

12.1. systemd RHEL 系统角色的变量

您可以通过为 systemd RHEL 系统角色设置以下输入变量来自定义 systemd 系统和服务管理器的行为:

systemd_unit_files
指定要部署到目标主机的 systemd 单元文件名称的列表。
systemd_unit-file_templates
指定应被视为模板的 systemd 单元文件名称的列表。每个名称都应该与 Jinja 模板文件对应。例如,对于 <name>.service 单元文件,您可以有 <name>.service Jinja 模板文件或 <name>.service.j2 Jinja 模板文件。如果您的本地模板文件有 .j2 后缀,Ansible 会在创建最终单元文件名称前删除后缀。
systemd_dropins

指定 systemd 置入配置文件的列表,以修改或增强 systemd 单元的行为,而无需直接对单元文件进行更改。

当您在 playbook 中设置 systemd_dropins = <name>.service.conf 变量时,Ansible 会获取本地 <name>.service.conf 文件,并在总是名为 99-override.conf 的受管节点上创建一个置入文件,并使用此置入文件修改 <name>.service systemd 单元。

systemd_started_units
指定 systemd 启动的单元名称的列表。
systemd_stopped_units
使用此变量指定 systemd 应该停止的单元名称的列表。
systemd_restarted_units
指定 systemd 应该重启的单元名称的列表。
systemd_reloaded_units
指定 systemd 应重新加载的单元名称的列表。
systemd_enabled_units
指定 systemd 应该启用的单元名称的列表。
systemd_disabled_units
指定 systemd 应该禁用的单元名称的列表。
systemd_masked_units
指定 systemd 应该屏蔽的单元名称的列表。
systemd_unmasked_units
指定 systemd 应该取消屏蔽的单元名称的列表。