Ansible 变量
Posted
技术标签:
【中文标题】Ansible 变量【英文标题】:Ansible variables 【发布时间】:2022-01-23 07:01:51 【问题描述】:我是真正的 Ansible 初学者。
有没有办法从另一个ansible变量重构一个变量?
例如,这个剧本:
- hosts: servers
vars:
ex_server1: First
ex_server2: Second
ex_server3: Third
toto: ex_
tasks:
- debug:
msg: " toto+ansible_hostname "
打印出来:
ok: [server2] =>
"msg": "ex_server2"
ok: [server3] =>
"msg": "ex_server3"
ok: [server1] =>
"msg": "ex_server1"
而不是“第一”、“第二”和“第三”。
有没有办法在这种情况下或在 jinja 模板中打印变量内容而不是变量名?
【问题讨论】:
docs.ansible.com/ansible/latest/reference_appendices/… 【参考方案1】:使用查找vars插件
- debug:
msg: " lookup('vars', toto + ansible_hostname) "
给予
TASK [debug] ***********************************************************
ok: [server1] =>
msg: First
ok: [server2] =>
msg: Second
ok: [server3] =>
msg: Third
有关插件的详细信息可从命令行获得
shell> ansible-doc -t lookup vars
【讨论】:
谢谢,正是我想要的!以上是关于Ansible 变量的主要内容,如果未能解决你的问题,请参考以下文章
ansible自动化运维详解ansible中变量的设定使用JINJA2模板的使用以及ansible的加密控制
ansible自动化运维详解ansible中变量的设定使用JINJA2模板的使用以及ansible的加密控制