博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SaltStack--使用salt-ssh
阅读量:4468 次
发布时间:2019-06-08

本文共 4092 字,大约阅读时间需要 13 分钟。

SaltStack使用salt-ssh模式

salt-ssh 介绍

salt-ssh是 0.17.0 新引入的一个功能,不需要minion对客户端进行管理,也可以不需要mastersalt-ssh也支持salt大部分的功能:比如grains,modules,state等;salt-ssh没有使用ZeroMQ的通信架构,执行是串行模式

salt-ssh执行原理

  • salt-ssh是在salt基础上打了一个python包上传到客户端的默认tmp目录下, 在客户端上面解压并执行返回结果,最后删除tmp上传的临时文件。
  • salt-minion方法是salt-mater先执行语法验证,验证通过后发送到minionminion收到Msater的状态文件默认保存在/var/cache/salt/minion
  • salt-sshsalt-minion可以共存,salt-minion不依赖于ssh服务

安装配置

1)安装salt-ssh

[root@salt-master ~]# yum -y install salt-ssh

2)修改roster文件,配置需要管理的机器

[root@salt-master ~]# vim /etc/salt/rostersalt-minion01:  host: 192.168.1.31  user: root  passwd: 123456  port: 22salt-minion02:  host: 192.168.1.32  user: root  passwd: 123456  port: 22

3)管理测试 (说明,如果第一次需要输入yes或no进行ssh认证,可以加-i参数自动认证)

[root@salt-master ~]# salt-ssh '*' test.ping -isalt-minion01:    Truesalt-minion02:    True

4)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,下次开始就不使用密码

5)salt-ssh执行命令

[root@salt-master ~]# salt-ssh '*' -r "uptime"salt-minion01:    ----------    retcode:        0    stderr:    stdout:        root@192.168.1.31's password:          10:06:08 up 1 day, 17:05,  2 users,  load average: 0.00, 0.01, 0.05salt-minion02:    ----------    retcode:        0    stderr:    stdout:        root@192.168.1.32's password:          10:06:08 up 1 day, 17:16,  2 users,  load average: 0.03, 0.06, 0.06

6)salt-ssh执行状态模块

[root@salt-master ~]# salt-ssh '*' state.sls modules.haproxy.service saltenv=prodsalt-minion02:----------          ID: haproxy-install    Function: pkg.installed        Name: haproxy      Result: True     Comment: All specified packages are already installed     Started: 10:09:48.541019    Duration: 10161.705 ms     Changes:   ----------          ID: haproxy-config    Function: file.managed        Name: /etc/haproxy/haproxy.cfg      Result: True     Comment: File /etc/haproxy/haproxy.cfg is in the correct state     Started: 10:09:59.020659    Duration: 54.263 ms     Changes:   ----------          ID: haproxy-service    Function: service.running        Name: haproxy      Result: True     Comment: The service haproxy is already running     Started: 10:09:59.079110    Duration: 128.052 ms     Changes:   Summary for salt-minion02------------Succeeded: 3Failed:    0------------Total states run:     3Total run time:  10.344 ssalt-minion01:----------          ID: haproxy-install    Function: pkg.installed        Name: haproxy      Result: True     Comment: All specified packages are already installed     Started: 10:10:00.561015    Duration: 2862.018 ms     Changes:   ----------          ID: haproxy-config    Function: file.managed        Name: /etc/haproxy/haproxy.cfg      Result: True     Comment: File /etc/haproxy/haproxy.cfg is in the correct state     Started: 10:10:03.905713    Duration: 220.443 ms     Changes:   ----------          ID: haproxy-service    Function: service.running        Name: haproxy      Result: True     Comment: The service haproxy is already running     Started: 10:10:04.135607    Duration: 230.231 ms     Changes:   Summary for salt-minion01------------Succeeded: 3Failed:    0------------Total states run:     3Total run time:   3.313 s

Roster说明

salt-ssh需要一个名单系统来确定哪些执行目标,Salt0.17.0版本中salt-ssh引入roster系统

roster系统编译成了一个数据结构,包含了targets,这些targets是一个目标系统主机列表和或如连接到这些targets

配置文件说明:

# target的信息    host:        # 远端主机的ip地址或者dns域名    user:        # 登录的用户    passwd:      # 用户密码,如果不使用此选项,则默认使用秘钥方式# 可选的部分    port:        #ssh端口    sudo:        #可以通过sudo    tty:         # 如果设置了sudo,设置这个参数为true    priv:        # ssh秘钥的文件路径    timeout:     # 当建立链接时等待响应时间的秒数    minion_opts: # minion的位置路径    thin_dir:    # target系统的存储目录,默认是/tmp/salt-
cmd_umask: # 使用salt-call命令的umask值

 

 

转载于:https://www.cnblogs.com/yanjieli/p/10912572.html

你可能感兴趣的文章
常用的一些shell变量
查看>>
Android无法删除项目+导入项目报错
查看>>
poj 2349(最小生成树应用)
查看>>
Shell编程-条件测试 | 基础篇
查看>>
AngularJs学习笔记1——总体介绍
查看>>
C语言第十二讲,文件操作.
查看>>
绝对定位和相对定位
查看>>
实习第二天——学习mac终端命令(unix命令)和git代码管理
查看>>
微信支付
查看>>
吴裕雄--天生自然 高等数学学习:含参变量的积分
查看>>
成本的费用归集
查看>>
本周ASP.NET英文技术文章推荐[01/28 - 02/03]
查看>>
运行时库组件 RuntimePack v19.06.05 Full 纯净安装版
查看>>
NYOJ100 - 1的个数
查看>>
左侧定宽右侧自适应布局
查看>>
文件和目录的访问控制(4) 审核规则
查看>>
搭建svn的一些问题
查看>>
Python 爬虫插件
查看>>
【BZOJ-3809】Gty的二逼妹子序列 分块 + 莫队算法
查看>>
k8s-调度器、预选策略及优选函数-二十
查看>>