gpt4 book ai didi

amazon-ec2 - 可以使用 Ansible "serial"参数指定区域吗?

转载 作者:行者123 更新时间:2023-12-01 06:09:41 24 4
gpt4 key购买 nike

我正在通过 Ansible 在 ec2 中的服务器上运行滚动部署。我使用 serial 一次在几台服务器上运行部署参数如下:

- name: run update
hosts: tag_app_servers:&tag_active_servers
serial: 7
sudo: True
pre_tasks:
- name: Gathering ec2 facts
action: ec2_facts
# do the deregistration here
roles:
- some_role
- some_other_role
post_tasks:
# re-register boxes here.

事实是,Ansible 认为我的所有服务器都是相同的(应该如此),并且不区分不同地区的服务器。因此,虽然我希望它从我所在的 7 个区域中的每个区域中取出一台服务器并在这些区域上并行运行更新,但 Ansible 可以改为仅从一个区域中取出 7 个服务器并完全削弱它。这不是一个大问题,因为流量只是重新路由到其他地区,但这远非理想。在并行运行多个服务器更新时,强制它从不同区域获取服务器的好方法是什么?

最佳答案

使用 Ansible 1.x,这是不可能的。在序列化剧本时,它只是将服务器分成任意组。

使用 Ansible 2.x,似乎 strategies会做你想做的,但你可能必须编写一个自定义策略插件来获得你想要的特定行为。

现在,使用 Ansible 1.x,您可以将实例分组,这样每个组在每个区域都有一台服务器,然后一次针对每个组运行剧本。这有点乱,但它会做你想做的。

关于amazon-ec2 - 可以使用 Ansible "serial"参数指定区域吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34057037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com