我这样写剧本:
name: install kubernetes
hosts: [kuber]
roles:
- A
- B
- C
- B
这意味着我想运行B role
两次,但是基于结果,第二个B甚至没有运行。
我应该怎么做才能多次担任角色?
答案 0 :(得分:1)
要使角色多次运行,有两种选择:
- 在每个角色定义中传递不同的参数。
- 将
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
答案 1 :(得分:0)
使用include_role
:
name: install kubernetes
hosts: [kuber]
tasks:
- include_role:
name: A
- include_role:
name: B
- include_role:
name: C
- include_role:
name: B