参考Ansible inventory entry的value部分

Referring to the value part of Ansible inventory entry

如果我的 Ansible hosts 文件中有以下条目:

[dbserver]
myserver

然后在我的任务代码的其他地方,我可以将 myserver 称为 {{ groups['dbserver'][0] }} 以动态获取主机名。效果很好。

现在 - 类似的情况。假设我将 hosts 文件更改为:

[dbserver]
db1 ansible_host=myserver ansible_user=myuser

我发现 {{ groups['dbserver'][0] }} 现在将 return "db1" 并且它似乎是一个纯字符串。但是如果我需要引用实际的主机名 "myserver" 并且还需要知道用户 "myuser" 怎么办?我如何访问这些值?

ansible_hostansible_user 是为特定主机定义的,因此可以通过 hostvars:

访问它们
- debug:
    var: hostvars['db1']['ansible_host']
- debug:
    var: hostvars['db1']['ansible_user']