And*_*der 2 ansible ansible-2.x
我使用Ansible 2.1.1.0通过PIP在OS X"酋长"龙头安装.我尝试了一个非常简单的配置:
#/etc/ansible/hosts
[webservers]
my.remote.server
Run Code Online (Sandbox Code Playgroud)
使用变量ansible_user通过ssh使用相应的公钥进行连接:
#/etc/ansible/group_vars/webservers
---
ansible_user: my_user
Run Code Online (Sandbox Code Playgroud)
当我尝试ping服务器时,一切似乎都没问题ansible webservers -m ping:
my.remote.server | SUCCESS => {
"changed": false,
"ping": "pong"
}
Run Code Online (Sandbox Code Playgroud)
尽管如此,当我尝试在远程服务器上运行任何命令时,它会在我的本地计算机上执行,例如运行时ansible webservers -m shell -a "echo $HOSTNAME"应该显示my.remote.server,但显示为:
my.remote.server | SUCCESS | rc=0 >>
my.local.server
Run Code Online (Sandbox Code Playgroud)
知道是什么导致了这个问题吗?
这是因为"echo $HOSTNAME"在通过SSH传递到远程服务器之前,在本地shell中进行了评估.试试这个:
ansible webservers -a hostname
Run Code Online (Sandbox Code Playgroud)
或这个:
ansible webservers -m shell -a 'echo $HOSTNAME'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |