Ansible-列出可用主机
我的ansible资源清册中有一些ansible服务器无法连接的主机(没有部署pubkey)Ansible-列出可用主机,ansible,Ansible,我的ansible资源清册中有一些ansible服务器无法连接的主机(没有部署pubkey) 我如何列出所有这些?(列出无法访问的主机) 也许有一种方法可以生成包含所有主机的清单文件 (不太优雅的方法是编写剧本和复制命令行输出,但有更好的方法吗?要列出它们,可以使用ping模块,并通过管道输出: ANSIBLE_NOCOWS=1 ansible -m ping all 2>&1 | grep 'FAILED => SSH' | cut -f 1 -d' ' 如果要生成
- 我如何列出所有这些?(列出无法访问的主机)
- 也许有一种方法可以生成包含所有主机的清单文件
(不太优雅的方法是编写剧本和复制命令行输出,但有更好的方法吗?要列出它们,可以使用
ping
模块,并通过管道输出:
ANSIBLE_NOCOWS=1 ansible -m ping all 2>&1 | grep 'FAILED => SSH' | cut -f 1 -d' '
如果要生成库存,只需重定向文件中的输出:
ANSIBLE_NOCOWS=1 ansible -m ping all 2>&1 | grep 'FAILED => SSH' | cut -f 1 -d' ' > hosts_without_key
然后,您可以稍后使用它,提供切换到ansible命令的-i
:
ansible-playbook -i hosts_without_key deploy_keys.yml
如果您可以使用密码进行ssh,并假设您有密钥部署playbook(例如deploy_keys.yml
),则可以发布:
ansible-playbook -i hosts_without_key deploy_keys.yml -kKu someuser
但如果要在没有密钥的主机上部署密钥,请记住Ansible是幂等的。在任何地方执行deploy\u keys.yml
playbook都没有坏处(只是稍微长一点)
祝你好运。谢谢,ping是我喜欢的解决方案。到目前为止,密钥都在一个单独的密码管理工具中,所以我只需要一个实例列表来查找,并将
ansible\u ssh\u pass
临时添加到清单中的相关服务器