gpt4 book ai didi

Ansible - 运行剧本时如何控制主机的顺序

转载 作者:行者123 更新时间:2023-12-04 17:31:41 25 4
gpt4 key购买 nike

假设我们在 list 文件中定义了两台机器:
[db-server-preprod]
172.16.0.1
172.16.0.2

如果我针对该组运行剧本,则如果序列为 0,则将在两台机器上同时运行,如果序列为 1,则顺序运行,并且顺序似乎是在组中定义 IP 的顺序。

但问题是我是否可以控制已定义机器上的剧本执行顺序?

对于其中一台机器(主机)与所有其他机器相比,相同角色的行为略有不同,但重要的是,我想成为主机的机器将是第一个执行剧本的机器。

到目前为止我的想法:

  • 创建不同的组名,其中 IP 的顺序是颠倒的,并且基于在一台或另一台主机上运行的需要,但缺点是我认为我需要复制 group_vars 所以每个 db-server-preprod* 都会有一个变体+所有其他环境。
  • 将安装分为两个不同的角色 - 一个用于主服务器和备用服务器,根据需要,我将在我想要的机器上运行我想要的一个。
  • 最佳答案

    您可以在剧本中使用 main.yml "serial = 1"所以它会一个接一个地执行,你可以确保 playbook 在主节点上执行,然后在其他节点上执行。

    - hosts: allnodes
    remote_user: "{{user}}"
    become: True
    serial: 1
    roles:
    - role: your_role

    关于Ansible - 运行剧本时如何控制主机的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42386801/

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