ric*_*ier 21 ansible ansible-playbook
在我的剧本中,我引用了很多用户名(仅限其"ubuntu").
是否有内置的方式来说"从命令行传递的值中获取它"?
我知道我能做到
ansible-playbook <task> -u <user> -K --extra-vars "user=<user>"
Run Code Online (Sandbox Code Playgroud)
然后我可以{{user}}
在剧本中使用,但定义用户两次感觉很奇怪.
Ram*_*nte 33
正如Woodham所说,代表连接用户的ansible变量是
{{ ansible_user }} (Ansible < 2.0 was {{ ansible_ssh_user }} )
Run Code Online (Sandbox Code Playgroud)
但您不必在库存文件中定义它本身.
您可以在以下位置定义它:
1.您的游戏,如果您使用ansible-playbook: 请参阅Playbooks上的手册
- name: Some play
hosts: all
remote_user: ubuntu
Run Code Online (Sandbox Code Playgroud)
2.在库存文件中: 请参阅库存手册
[all]
other1.example.com ansible_user=ubuntu (Ansible < 2.0 was ansible_ssh_user)
Run Code Online (Sandbox Code Playgroud)
正如你所说,在命令行上:
ansible-playbook -i inventory -u ubuntu playbook.yml
Run Code Online (Sandbox Code Playgroud)
4.一个ansible配置文件作为remote_user
指令.
请参阅配置文件中的手册
ansible配置文件可以放在当前文件夹ansible.cfg
,homedir .ansible.cfg
或/etc/ansible/ansbile.cfg
.
[defaults]
remote_user=ubuntu
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18724 次 |
最近记录: |