如何使用Ansible安装systemd服务?

时间:2016-10-18 16:55:13

标签: ansible systemd

我想从Jinja2模板安装systemd服务。我该怎么做?

我是否必须使用copy模块将文件复制到/lib/systemd/system,然后使用systemd模块启用它?

有更好的方法吗?

1 个答案:

答案 0 :(得分:29)

我使用template模块将.service文件安装到/etc/systemd/system中。根据{{​​3}} /lib/systemd/system应保留与操作系统本身捆绑的软件包,第三方服务应在/etc/systemd/system中定义。

使用ansible的systemd模块,我可以使用daemon_reload=yes启动服务。

在Ansible 2.2之前:之后我做systemctl daemon-reload(如果合适,可以使用ansible处理程序)来prod systemd来获取新文件。

- name: install myservice systemd unit file
  template: src=myservice.j2 dest=/etc/systemd/system/myservice.service

- name: start myservice
  systemd: state=started name=myservice daemon_reload=yes


# For ansilble < 2.2 only
#- name: reload systemd unit configuration
#  command: systemctl daemon-reload