在Ansible中运行角色两次
我是这样写剧本的:在Ansible中运行角色两次,ansible,Ansible,我是这样写剧本的: name: install kubernetes hosts: [kuber] roles: - A - B - C - B 这意味着我想运行两次B角色,但根据结果,第二个B甚至没有运行。 要多次运行角色,我应该怎么做?使用包含角色: name: install kubernetes hosts: [kuber] tasks: - include_role: name: A - include_role: name
name: install kubernetes
hosts: [kuber]
roles:
- A
- B
- C
- B
这意味着我想运行两次B角色
,但根据结果,第二个B甚至没有运行。
要多次运行角色,我应该怎么做?使用
包含角色
:
name: install kubernetes
hosts: [kuber]
tasks:
- include_role:
name: A
- include_role:
name: B
- include_role:
name: C
- include_role:
name: B
参考:
要使角色多次运行,有两个选项:
allow_duplicates:true
添加到角色的meta/main.yml
文件中- name: install kubernetes
hosts: [kuber]
roles:
- role: A
- role: B
vars:
fake_param: firstinclude
- role: C
- role: B
vars:
fake_param: secondinclude
是的,这是一种方式。但我仍然不明白为什么第二个B角色没有执行!!因为这是一个列表,它被规范化了。@jack:不完全是。如果您在角色的
meta/main.yml
中允许重复:true,并保持列表不变,则该角色将扮演两次。很高兴知道。谢谢