salt-ssh模式
1、说明:
salt-ssh即通过ssh得方式进行管理,不需要安装salt-minion, salt-ssh 用的是sshpass进行密码交互的。
2、salt-ssh得局限性
被管理的机器需要支持远程连接,ssh有些功能不如minion
3、安装salt-ssh
# yum install -y salt-ssh
4、配置salt-ssh
# tail - /etc/salt/roster
test1: #被管理的主机名
host: 172.18.X.X #被管理的主机IP
user: test #被管理主机的ssh连接用户
passwd: passwd #被管理主机的ssh用户密码
port: #被管理主机的ssh端口
sudo: True #是否允许sudo
5、使用salt-ssh模式测试连接服务器
第一次执行会有认证,加-i参数,以后就不用了
# salt-ssh \* test.ping -i
test1:
True
6、使用salt-ssh模式执行shell命令
方法一:
# salt-ssh \* cmd.run "w"
test1:
:: up days, :, users, load average: 0.11, 0.09, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
young pts/ 123.121.57.191 : .00s .84s .02s sshd: young [priv]
young pts/ 123.121.57.191 : : .04s .02s sshd: young [priv] 方法二:
# salt-ssh \* -r "w"
test1:
----------
retcode: stderr:
stdout:
young@172.18.214.112's password:
:: up days, :, users, load average: 0.09, 0.09, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
young pts/ 123.121.57.191 : .00s .81s .02s sshd: young [priv]
young pts/ 123.121.57.191 : : .04s .02s sshd: young [priv]
7、使用salt-ssh执行salt状态
# salt-ssh "*" state.sls install-tomcat
总结:
1、salt-ssh命令用法
-r, –raw, –raw-shell # 直接使用shell命令
-priv #指定SSH私有密钥文件
-roster #定义使用哪个roster系统,如果定义了一个后端数据库,扫描方式,或者用户自定义的的roster系统,默认的就是/etc/salt/roster文件
-roster-file #指定roster文件
-refresh, –refresh-cache #刷新cache,如果target的grains改变会自动刷新
-max-procs #指定进程数,默认为25
-i, –ignore-host-keys #当ssh连接时,忽略keys
-passwd #指定默认密码
-key-deploy #配置keys 设置这个参数对于所有minions用来部署ssh-key认证,这个参和–passwd结合起来使用会使初始化部署很快很方便。当调用master模块时,并加上参数 –key-deploy 即可在minions生成keys,下次开始就不使用密码
2、salt-ssh于salt-minion总结:
1.salt-ssh 是在salt基础上打了一个python包上传到客户端的默认tmp目录下,在客户端上面解压并执行返回结果,最后删除tmp上传的临时文件
2.salt-minion方法是salt-mater先执行语法验证,验证通过后发送到minion,minion收到Msater的状态文件默认保存在/var/cache/salt/minion
注意:也有时候salt-master语法验证通过,在minion上可能因为环境问题会执行失败
3.salt-ssh和salt-minion可以共存,salt-minion不依赖于ssh服务