一、salt-ssh介绍
salt-ssh是0.17.0新出现的一个功能,一听这名字就知道它是依赖ssh来进行远程命令执行的工具,好处就是你不需要在客户端安装minion,也不需要安装master(直接安装salt-ssh这个包即可),有点类似
paramiko、pssh、ansible这类的工具,有些时候你还真的需要salt-ssh(例如:条件不允许安装minion、不用长期管理某台minion)
最最重要的是salt-ssh并不只是单纯的ssh工具,它支持salt大部分的功能,如grains、modules、state等
备注
需要注意的是,salt-ssh并没有继承原来的通讯架构(ZeroMQ),也就是说它的执行速度啥的都会比较慢
二、salt-ssh安装
去github下载salt的源安装即可
三、salt-ssh使用
salt-ssh是通过调用roster配置文件来实现的,语法很简答,定义ID、host、user、password即可
1、定义roster,让salt-ssh生效
默认是在/etc/salt/roster
设置完之后就可以进行测试了,语法跟salt的一样
2、salt-ssh不但支持运行shell命令,同时它还支持salt本身的模块,甚至支持调用state
执行shell命令
调用salt本身的模块
获取grains信息
调用state
目前0.17.1的版本还有bug,导致state调用失败,感谢Puluto修复了此bug,废话少说,马上试试,issue
四、salt-ssh实战
任务就是使用salt-ssh安装minion并重启,真正实现自动化^^
五、使用salt-ssh注意事项
salt-ssh用的是sshpass进行密码交互的,所以必须安装sshpass,salt-ssh才能正常运行
salt-ssh使用的范围还是比较广的,适合用于那些已经部署了其他自动化运维工具的机器,如puppet、chef,不过我主要用于初始化minion环境,主要还是用salt比较多