使用 Jumpbox/build-server 通过 Ansible 进行序列化

使用 Jumpbox/build-server 通过 Ansible 进行序列化

我们正在使用一个构建服务器,该服务器正在委托并将构建部署到应用程序服务器。我不确定我们将如何“序列化”,因为所有操作都在构建服务器(1 台主机)上完成,并且有许多应用程序服务器。构建服务器是唯一能够与应用程序服务器通信的服务器。这不是问题,但我们需要确保逐个部署到应用服务器(当一切正常时将它们踢出/重新进入池中)。有什么建议吗?

答案1

可以使用参数定义 Ansible 播放并行运行的主机数量serial

- name: test play
  hosts: webservers
  serial: 3

来自Ansible 文档

默认情况下,Ansible 将尝试并行管理剧集中引用的所有机器。对于滚动更新用例,您可以使用 ''serial'' 关键字定义 Ansible 一次应管理的主机数量。在上面的示例中,如果我们有 100 台主机,则“webservers”组中的 3 台主机将完全完成剧集,然后再转到下 3 台主机。

如果您想要逐个部署应用服务器,则需要在您的剧本中定义如下内容:

- name: Deploy app servers one by one
  hosts: appservers
  serial: 1

相关内容