[原创]Saltstack 运行架构扩展:salt-ssh使用方法 – 21运维
通知: .-...

[原创]Saltstack 运行架构扩展:salt-ssh使用方法

saltstack 21运维 3068浏览 0评论

SaltStack 一开始的文章《saltstack入门概述(1)》就说明了saltstack架构的几种运行模式,今天就开始讲一下如何针对通过ssh协议的方式,使用salt-ssh管理做一个小笔记说明。saltstack的官方说明是:
Execute salt commands and states over ssh without installing a salt-minion.
大概意思是说:可以不在客户端安装minion,直接通过ssh协议进行通信进行salt命令和states执行。这样下来,对免客户端安装agent的这种需求提供了解决方案,同时,也可以和Minion共同使用,建议多进入官网学习了解。话外音,如果master所处的服务器沦陷,那么其他服务器也跟着遭殃。
1,安装salt-ssh
git clone https://github.com/saltstack/salt.git
python setup.py  install
2,配置文件roster。翻译过来是花名册,登记簿的意思,roster定义存放主机列表文件,默认存放位置在/etc/salt/roster,里边有提供默认案例。这里备注一下格式,官网那里案例不是太多:

Salt ID:   # ID,用于salt-ssh引用
    host:    # IP或域名
   user:    # 登录用户名
    passwd:  # 登录密码

    # 可选参数
    port:    # 自定义的端口
    sudo:    # 是否允许sudo到root,默认不允许
    priv:    # ssh登录key路径,默认为salt-ssh.rsa
    timeout:  # 等待超时

这里说明下,不建议提交root用户以及密码,避免泄露。最好使用sudo,最小的权限就是最大的安全。关于sudo的用法请参考《linux命令su和sudo区别小结
我这里做测试使用,sudu 的用户21yunwei设置的比较大的,以后注意实际环境来定,不要搞这么大。我设置的是:

aliserver:
  host: 115.29.249.xxx
  user: 21yunwei
  passwd: xxxxxx
  port: 33
  sudo: True

3,执行测试。可以看如下显示:

[[email protected] ~]# salt-ssh  'aliserver' test.ping
aliserver:
    True
[[email protected] ~]# salt-ssh  'aliserver' -r 'sudo  /sbin/ifconfig'
aliserver:
    ----------
    retcode:
        0
    stderr:
        Could not chdir to home directory /home/21yunwei: No such file or directory
    stdout:
        [email protected]'s password: 
        eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:31:4F  
                  inet addr:10.162.51.xxx  Bcast:10.162.63.255  Mask:255.255.240.0
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                  RX packets:977061 errors:0 dropped:0 overruns:0 frame:0
                  TX packets:326 errors:0 dropped:0 overruns:0 carrier:0
                  collisions:0 txqueuelen:1000 
                  RX bytes:43794854 (41.7 MiB)  TX bytes:13692 (13.3 KiB)
                  Interrupt:165 
        
        eth1      Link encap:Ethernet  HWaddr 00:16:3E:00:35:65  
                  inet addr:115.29.249.xxx  Bcast:115.29.251.255  Mask:255.255.252.0
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                  RX packets:19752359 errors:0 dropped:0 overruns:0 frame:0

salt-run命令使用小总结:
(1)  -r  里边加原始shell命令,类似本机执行。
(2) salt 还可以执行state,其执行命令方式和salt命令一模一样。
(3) target上使用有差别,如果没有安装minion等,无法调用grains等,请根据实际情况结合定义参数或结合minion混合使用。

官网地址https://docs.saltstack.com/en/latest/topics/ssh/index.html 建议详细了解,这里只简单做笔记。
china地址:saltstack用户组官网地址http://docs.saltstack.cn/topics/ssh/index.html#targeting-with-salt-ssh

转载请注明:21运维 » [原创]Saltstack 运行架构扩展:salt-ssh使用方法

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址