在Ansible中,可以通过使用hostvars
来访问另一个角色的默认变量。hostvars
是一个特殊的变量,它包含了当前主机上所有已定义的变量。通过使用hostvars
,可以访问其他角色的默认变量。
要从Ansible中的另一个角色访问该角色的默认变量,可以按照以下步骤进行操作:
roles
目录中创建相应的角色目录,并在其中定义defaults
目录和main.yml
文件来实现。在main.yml
文件中,可以定义角色的默认变量。hostvars
来引用该角色的变量。hostvars
是一个特殊的字典,它包含了所有主机上已定义的变量。下面是一个示例,演示如何从Ansible中的另一个角色访问该角色的默认变量:
- name: 从另一个角色访问默认变量
hosts: localhost
tasks:
- name: 打印另一个角色的默认变量
debug:
var: hostvars['localhost']['另一个角色名称']['默认变量名称']
在上面的示例中,localhost
是当前主机的名称,另一个角色名称
是要访问的角色的名称,默认变量名称
是要访问的变量的名称。通过使用hostvars
,可以访问另一个角色的默认变量,并在任务中使用它们。
请注意,上述示例中的localhost
是一个示例主机名,你需要根据你的实际情况替换为正确的主机名。
希望这个答案对你有帮助!如果你需要更多关于Ansible或其他云计算相关的问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云