我试图设置Ansible来pipe理来自不同客户的Linux机器,这里是我们必须要处理的。
sudo做所有事情,但是再次,这将需要一些时间。 我设法为每个客户创build一个ansible_ssh_user和ansible_ssh_pass库文件,并遵循好的作品。
--- - hosts: - SERV01 - SERV02 vars_files: - roles/common/vault/main.yml tasks: - name: enable and start ntpd service: name=ntpd enabled=yes state=running
现在我想知道如何从命令行使用Vault文件,但以下都不起作用。
ansible customer1 -m shell -a "var_files:roles/common/vault/main.yml uptime" --ask-vault-pass ansible customer1 -m shell -a "uptime" -e "vars_files:roles/common/vault/main.yml" --ask-vault-pass
我究竟做错了什么 ?
谢谢
最后,我发现如何做到这一点:
ansible customer1 -e @group_vars/vault/customer1.yml --ask-vault-pass -m shell -a uptime
现在,我可以将ansible_ssh_user , ansible_ssh_pass和ansible_sudo_pass放在保险库文件中,我只需要记住保pipe库密码。
我希望能让Ansible更加愉快。
谢谢
我不确定Ansible是否可以做到这一点。 如果不行的话,一个办法就是做
ansible customer1 -e "`ansible-vault view roles/common/vault/main.yml | grep ansible_ssh_pass`" -m shell -a uptime