如何在ansible playbook中添加具有单个用户的单个服务器?

如何在ansible playbook中添加具有单个用户的单个服务器?,ansible,ansible-2.x,ansible-inventory,ansible-facts,ansible-template,Ansible,Ansible 2.x,Ansible Inventory,Ansible Facts,Ansible Template,例如,我们有5台服务器和5个用户 我们需要将单个用户添加到 单个服务器通过Ansible playbook 我已经编写了playbook,但它正在所有5台服务器中添加所有5个用户 但是我需要在server1中添加user1,在server2中添加user2,以此类推 任何人都知道,那么请帮助我您需要的是用户和服务器之间的显式映射。最后,你需要有这样的格言: config: - server1 - user1 - user2 - server2 - user2

例如,我们有5台服务器和5个用户 我们需要将单个用户添加到 单个服务器通过Ansible playbook

我已经编写了playbook,但它正在所有5台服务器中添加所有5个用户

但是我需要在server1中添加user1,在server2中添加user2,以此类推


任何人都知道,那么请帮助我您需要的是用户和服务器之间的显式映射。最后,你需要有这样的格言:

config:
  - server1
    - user1
    - user2
  - server2
    - user2
    - user3
  - server3
    - user4
使用此字典,您可以循环所有主机,并将主机与serverX中的项进行匹配,当匹配时,使用内部列表添加具有Ansible的相应用户。字典可以是一个外部配置文件,您可以在playbook或其他任何内容中阅读

或者,您可以在资源清册中为每个主机定义HostVar

all:
  hosts:
    server1:
      ansible_host: 10....
      users:
        - user1
        - user2
    server2:
      ansible_host: 10....
      users:
        - user3
    ...
在这种情况下,您将其定义为静态的,并且您的playbook针对组“all”运行,并迭代每个主机的var“users”,并配置该用户


我认为,问题在于你问题中的“个人”。你需要考虑这些信息的基础,是静态的还是动态的。是今天还是明天…

您能发送不执行此操作的任务的代码吗?这是我目前正在运行的代码,但它正在所有主机中添加所有用户。。。。您可以修改此文件,并在条件允许时建议我在何处使用