关于ansible-通过Ad-hoc和playbook-对linux主机的连接性测试
Posted on 2022-10-14 21:56 520_1351 阅读(340) 评论(0) 编辑 收藏 举报环境:被控主机都是linux主机,不过好几种发行版本,但是笔者都还是设计了统一的标准
1、主控和被控端都是Linux操作系统,都是有ansible用户的
2、主控通过ssh-key的私钥登录到被控制端linux
3、被控制端linux上的ansible 有着一系列sudo命令,无密码sudo权限
每当有新的主机加入后,笔者都会进行ansible连接测试,主要基于Ad-hoc及playbook的方式进行测试两种方式
1、基于Ad-hoc方式,这里可以使用ping模块,能正常连接/连通,就会返回pong:
## 指定hosts文件,第一条不执行任何操作,只是列出匹配到的主机,第二条是使用ping模块进行连接测试 ansible all -i hostlist.txt --list-hosts ansible all -i hostlist.txt -m ping ## 无hosts文件的方式,同样也是使用ping模块 ansible all -i 1.1.1.1, -m ping ansible all -i 1.1.1.1,2.2.2.2 -m ping ansible -i 1.1.1.1, all -m ping ansible -i 1.1.1.1,2.2.2.2 -m ping
2、基于playbook的方式,按理说除了测试连通性,还要测试是否有免密码sudo的功能,当然这里笔者只简单测试一下命令即可,个人建议的是使用ls或者pwd等非常通用的命令,如果同时要测试sudo免密码,只需要修改下方命令为sudo xxxxxx 即可
[ansible@qq-5201351 LinuxTest]$ cat linuxtest.yaml --- - hosts: "{{hostid}}" tasks: - name: 1.connection test for linux #shell: command sudo systemctl status sshd shell: command ls
笔者测试了下,shell后面,去掉command也是可以的,最后就可以通过ansible-playbook命令进行测试了:
ansible-playbook -i hosts linuxtest.yaml -e "hostid=webservers,1.2.3.4" -v
额外记录一下,对于像上面的ls命令执行后,最后的状态都是会changed,笔者这里显示changed=1,也就是连接并执行命令成功了
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/16793164.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!