1

生产(库存文件):

#main ansible_host=54.293.2785.210 ansible_port=22 ansible_ssh_user=ubuntu
54.293.2785.210 ansible_ssh_user=ubuntu

运行临时命令:ansible all -i production -a "hostname" 有效!

但是当我取消注释第一行并注释第二行时: ansible main -i production -a "hostname" -vvvv

给出以下错误:

main | FAILED => SSH Error: ssh: Could not resolve hostname main: Name or service not known
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.

为什么这不起作用?

4

1 回答 1

4

ansible_host新的 (>=2.0) 语法

在此之前很简单ansible_ssh_host,但在最新版本的 Ansible (>=2.0) 中已弃用:

Ansible 2.0 已弃用 ansible_ssh_user、ansible_ssh_host 和 ansible_ssh_port 中的“ssh”,改为 ansible_user、ansible_host 和 ansible_port。如果您使用的是 2.0 之前的 Ansible 版本,则应继续使用旧样式变量 (ansible_ssh_*)。在旧版本的 Ansible 中,这些较短的变量会在没有警告的情况下被忽略。

如果您使用的是早期版本的 Ansible,那么ansible_ssh_host应该适合您。

于 2015-10-28T09:50:10.997 回答