例如,我们有5个服务器和5个用户我们需要将个人用户添加到通过Ansible战术手册的单个服务器。
我已经写了剧本,但它在所有5台服务器中添加了所有5个用户。
但我需要在服务器1中添加user1,在服务器2中添加user2,依此类推。
任何知道的人都请帮我
您需要的是用户和服务器之间的显式映射。最后,你需要有这样的格言:
config:
- server1
- user1
- user2
- server2
- user2
- user3
- server3
- user4
使用此字典,您可以在所有主机上循环,并将主机与serverX中的项匹配,当匹配时,使用内部列表添加具有Ansible的相应用户。字典可以是一个外部配置文件,您可以在剧本中阅读,也可以是其他任何文件。
作为替代方案,您可以在库存中定义每个主机的hostvars。
all:
hosts:
server1:
ansible_host: 10....
users:
- user1
- user2
server2:
ansible_host: 10....
users:
- user3
...
在这种情况下,你将其定义为静态的,并且你的战术手册与"团队"背道而驰;所有";并在var"上迭代;用户";每个主机并配置该用户。
我认为,问题在于;"个人";在你的问题中。你需要思考这个信息的基础,是静态的还是动态的。今天是别的事情吗?然后明天。。。