SaltStack--采取salt-ssh
原创SaltStack--使用salt-ssh
SaltStack使用salt-ssh模式 #
salt-ssh 介绍 #
salt-ssh 是 0.17.0 一种新引入的功能,不需要minion还可以管理客户端,而不需要 master ; salt-ssh 也支持 salt 大多数功能:如 grains , modules , state 等; salt-ssh 没有使用 ZeroMQ 通信架构,执行方式为串口方式。
salt-ssh执行原理 #
salt-ssh是在salt在玩游戏的基础上python程序包将上载到客户端的默认设置tmp目录下, 在客户端上方解压并执行返回结果,最后删除tmp已上载临时文件。salt-minion方法是salt-mater首先执行语法验证,然后传递验证并将其发送到minion,minion收到Msater默认情况下保存状态文件。/var/cache/salt/minionsalt-ssh和salt-minion可以共存,salt-minion不依赖于ssh服务
安装配置 #
1)安装 salt-ssh
[root@salt-master ~]# yum -y install salt-ssh
2)修改 roster 文件,配置需要管理的计算机

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

3)管理测试 (如果第一次需要输入,则返回Description。 yes或no 进行 ssh 认证,可以添加 -i 自动参数验证)

[root@salt-master ~]# salt-ssh * test.ping -i salt-minion01: True salt-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.31s password:
10:06:08 up 1 day, 17:05, 2 users, load average: 0.00, 0.01, 0.05
salt-minion02:
retcode:
0
stderr:
stdout:
root@192.168.1.32s 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=prod salt-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: 3 Failed: 0
Total states run: 3 Total run time: 10.344 s salt-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: 3 Failed: 0
Total states run: 3 Total run time: 3.313 s

Roster说明 #
salt-ssh 需要一个清单系统来确定哪些实施目标, Salt 的 0.17.0 版本中 salt-ssh 引入 roste r系统
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值 版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




