自动化运维工具saltstack05 -- 之salt-ssh模式

salt-ssh模式

一、说明:

        salt-ssh即经过ssh得方式进行管理,不须要安装salt-minion, salt-ssh 用的是sshpass进行密码交互的。python

二、salt-ssh得局限性

        被管理的机器须要支持远程链接,ssh有些功能不如minionshell

三、安装salt-ssh

# yum install -y salt-ssh

四、配置salt-ssh

# tail -6 /etc/salt/roster 
test1:            #被管理的主机名
  host: 172.18.X.X         #被管理的主机IP
  user: test        #被管理主机的ssh链接用户
  passwd: passwd       #被管理主机的ssh用户密码
  port: 22        #被管理主机的ssh端口
  sudo: True     #是否容许sudo

五、使用salt-ssh模式测试链接服务器

第一次执行会有认证,加-i参数,之后就不用了数据库

# salt-ssh \* test.ping -i
test1:
    True

六、使用salt-ssh模式执行shell命令

方法一:
# salt-ssh \* cmd.run "w"
test1:
     14:42:17 up 14 days,  4:39,  2 users,  load average: 0.11, 0.09, 0.06
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    young    pts/0    123.121.57.191   11:38    9.00s  0.84s  0.02s sshd: young [priv]  
    young    pts/1    123.121.57.191   14:30   11:37   0.04s  0.02s sshd: young [priv]

方法二:
# salt-ssh \* -r "w"
test1:
    ----------
    retcode:
        0
    stderr:
    stdout:
        young@172.18.214.112's password: 
         14:42:24 up 14 days,  4:39,  2 users,  load average: 0.09, 0.09, 0.06
        USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
        young    pts/0    123.121.57.191   11:38    8.00s  0.81s  0.02s sshd: young [priv]  
        young    pts/1    123.121.57.191   14:30   11:44   0.04s  0.02s sshd: young [priv]

七、使用salt-ssh执行salt状态

# salt-ssh "*" state.sls install-tomcat

总结:

一、salt-ssh命令用法

        -r, –raw, –raw-shell # 直接使用shell命令后端

        -priv #指定SSH私有密钥文件tomcat

        -roster #定义使用哪一个roster系统,若是定义了一个后端数据库,扫描方式,或者用户自定义的的roster系统,默认的就是/etc/salt/roster文件服务器

        -roster-file #指定roster文件ssh

        -refresh, –refresh-cache #刷新cache,若是target的grains改变会自动刷新测试

        -max-procs #指定进程数,默认为25spa

        -i, –ignore-host-keys #当ssh链接时,忽略keyscode

        -passwd #指定默认密码

        -key-deploy #配置keys 设置这个参数对于全部minions用来部署ssh-key认证,这个参和–passwd结合起来使用会使初始化部署很快很方便。当调用master模块时,并加上参数 –key-deploy 便可在minions生成keys,下次开始就不使用密码

 

二、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服务

相关文章
相关标签/搜索