【问题标题】:Apache Graceful restart with Ansible使用 Ansible 优雅重启 Apache
【发布时间】:2018-08-27 05:30:51
【问题描述】:

什么是进行 apache 优雅重启的理想 ansible 方式?

   - name: Restart Apache gracefully 
      command: apachectl -k graceful

Ansible systemd 模块也一样吗?如果不是,有什么区别?谢谢 !

- name: Restart apache service.
  systemd:
    name: apache2
    daemon_reload: yes
    state: restarted

【问题讨论】:

  • 你问的正则表达式在哪里?

标签: regex ansible


【解决方案1】:

您可以使用 Ansible 执行的操作是确保与 Apache 建立的所有连接都已关闭(在 Ansible 术语中耗尽)。

使用wait_for 模块,条件是等待特定主机和端口上的耗尽连接,状态设置为drained。见下文:

- name: wait until apache2 connections are drained.
  wait_for:
   host: 0.0.0.0
   port: 80
   state: drained

注意:您可以将它用于您的所有 Linux 网络服务,如果您想在 Ansible playbook 中以特定顺序关闭服务,这将非常方便。

wait_for 指令有助于确保 Ansible 在特定步骤完成之前不会运行您的剧本。

【讨论】:

    【解决方案2】:

    目前在servicesystemd 模块中不支持优雅状态,因为这非常特定于某些服务,状态仅限于startedstoppedrestartedreloadedrunning。 因此,现在您需要使用问题中所写的 command 模块来执行正常重启,这是唯一正确的解决方案。

    但是有一个issue to support custom status,也许有人会很快实现它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-18
      • 2020-04-04
      • 2014-10-19
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      相关资源
      最近更新 更多