目前我的剧本用于创建用户帐户和
- name: Create the necessary users
hosts: all
become: yes
vars:
users:
- name: user1
ssh_keys:
- XXXXX
- name: user2
ssh_keys:
- YYYYY
users_to_remove: [] # array of user names to remove
创建用户的任务遵循此基础,并且非常基础。 当前,此设置在所有主机上创建帐户。我有大约15至20台主机,分为大约5个组,我试图提出一种干净的解决方案,该解决方案使我只能在几个特定组中创建用户,而不是在所有组中创建用户。我想尽可能地将vars留在剧本中。
我希望有一种方法可以实现
- name: user2
ssh_keys:
- YYYYY
group: all # or group name
是否可以这样做?还是有其他更可取的方式来管理此问题? 我能想到的唯一方法是为组var创建一个完整的目录结构,然后在其中添加字典,可以为全局用户拆分一个dict,为特定组的特定用户拆分一个dict并合并(因为ansible不会合并var吗? AFAIK组变量只是覆盖全局变量)
答案 0 :(得分:1)
ansible_host 变量对您有帮助吗?
- name: Set authorized key
authorized_key:
user: user2
key: YYYYY
when: ansible_host in groups.group_XY