Ansible - 如何在循环中运行角色达给定次数

che*_*huk 1 loops ansible

我使用Ansible将我的应用程序部署到aws.当我在aws中创建环境时,我想在我的group_vars中部署'mq'类型的x服务器(有时只有1,有时是3),我有一个密钥:

number_of_mqs: 3
Run Code Online (Sandbox Code Playgroud)

鉴于此,我希望我的角色包括3次任务,我该怎么做?

nba*_*ari 6

您可以在任务中调用角色,如下所示:

---
- hosts: localhost
  connection: local

  tasks:
    - name: Call role 3 times
      with_sequence: count=3
      include_role:
        name: name_of_the_role
      vars:
        foo: "foo-{{ '%02d'|format(item|int) }}"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它将调用角色3次将变量传递foo给它.