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/roster
salt-minion01:
host: 192.168.1.31
user: root
passwd:
port: salt-minion02:
host: 192.168.1.32
user: root
passwd:
port:

3)管理测试 (说明,如果第一次需要输入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: stderr:
stdout:
root@192.168.1.31's password:
:: up day, :, users, load average: 0.00, 0.01, 0.05
salt-minion02:
----------
retcode: stderr:
stdout:
root@192.168.1.32's password:
:: up day, :, 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: ::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: ::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: ::59.079110
Duration: 128.052 ms
Changes: Summary for salt-minion02
------------
Succeeded:
Failed:
------------
Total states run:
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: ::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: ::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: ::04.135607
Duration: 230.231 ms
Changes: Summary for salt-minion01
------------
Succeeded:
Failed:
------------
Total states run:
Total 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-<hash>
cmd_umask: # 使用salt-call命令的umask值

saltstack快速入门

saltstack远程执行

saltstack配置管理

saltstack数据系统

saltstack状态判断

SaltStack--使用salt-ssh的更多相关文章

  1. saltstack通过salt.client执行命令(转)

    利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令 master端想要执行类似 salt '*' cmd.run 'uptime ...

  2. saltstack 使用salt ‘*’ test.ping 报错Minion did not return(转)

    原文地址:http://blog.51cto.com/4634721/2093019 saltstack 使用salt ‘*’ test.ping 报错Minion did not return. [ ...

  3. saltstack之salt event事件用法

    event是一个本地的ZeroMQ PUB Interface,event是一个开放的系统,用于发送信息通知salt或其他的操作系统.每个event都有一个标签.事件标签允许快速制定过滤事件.除了标签 ...

  4. 4 saltstack ssh

    1.salt ssh https://docs.saltstack.com/en/latest/topics/ssh/index.html 免agent的 Salt ssh 串行 执行的时候,发送给其 ...

  5. Saltstack 介绍、安装、配置(一)

    Slatstack 介绍 官网:https://saltstack.com/ 官方源:http://repo.saltstack.com/  (介绍各操作系统安装方法) http://repo.sal ...

  6. 快速入门SaltStack

    导读 SaltStack是基于Python开发的一套C/S架构配置管理工具(功能不仅仅是配置管理,如使用salt-cloud配置AWS EC2实例),它的底层使用ZeroMQ消息队列pub/sub方式 ...

  7. Saltstack自动化运维

    Saltstack三大功能 1,远程执行 2,配置管理(状态) 3,云管理 四种运行方式: Local         本地 Minion/Master C/S Syndic  代理模式 Salt S ...

  8. 1、自动化运维之SaltStack实践

    自动化运维之SaltStack实践 1.1.环境 linux-node1(master服务端) 192.168.0.15 linux-node2(minion客户端) 192.168.0.16 1.2 ...

  9. Saltstack自动化操作记录(1)-环境部署【转】

    早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...

  10. saltstack之自动化运维

    引入 简介 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. 早期运维人员会根据自己的生产环境来写特定脚本完成大量重复性工作,这 ...

随机推荐

  1. 【HDU6216】 A Cubic number and A Cubic Number 和 广工的加强版

    题目传送门_杭电版 题目传送门_广工版 广工版的是杭电版的加强版. 题意:判断一个质数是否是两个整数的立方差 ---- 数学题 题解: 根据立方差公式:\(a^3 - b^3 = (a - b)(a^ ...

  2. SpringMVC拦截器与SpringBoot自定义拦截器

    首先我们先回顾一下传统拦截器的写法: 第一步创建一个类实现HandlerInterceptor接口,重写接口的方法. 第二步在XML中进行如下配置,就可以实现自定义拦截器了 SpringBoot实现自 ...

  3. Laravel自动备份到阿里云OSS

    背景 之前做备份时,主要是拿一台备份机对生产机做数据库做主备,用rsync同步上传的图片,文件.随着项目的增多,许多小项目都这样做感觉太过繁琐,每次都要在2台机器之间配置,同时单独拿一台机器做备份成本 ...

  4. c++ rvo vs std::move

    c++ rvo vs std::move To summarize, RVO is a compiler optimization technique, while std::move is just ...

  5. gcc O2优化选项对内嵌汇编以及函数递归调用的影响

    学习和使用c这些年来,很多方面都未深入研究过,就如脱离了IDE后,我可能连编译一个c文件的命令都写不出来. 最近需要在c中内嵌汇编解决问题,参考网上相关的资料写了一段汇编代码,在测试的时候时好时坏,找 ...

  6. Shell脚本之七 选择、循环结构

    一.if else if 语法格式 if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $(ps -e ...

  7. 日志篇 貌似win10有个磁盘bug,非常非常严重... 硬盘解密之后无法访问,参数错误 BitLocker解密

    程序员就是要穷尽一切猜想... 我的加密的硬盘解密后无法访问了,我从一年前就遇到了,现在又突然出现了..... 然后找到一个人回答,他这个回答能从形式上解决,点我去原帖 用cmd管理员模式,执行,I要 ...

  8. AntDesign vue学习笔记(三)嵌套路由使用

    本项目目前结构如下 1.Login页面=>MainFrm页面=>MainFrm左部菜单,右边是显示区域可以切换子页面. 2.当点击左部菜单时,右边的子页面随着进行切换. 实现关键代码如下1 ...

  9. 11. Scala数据结构(下)-集合操作

    11.1 集合元素的映射-map映射操作 11.1.1 看一个实际需求 要求:请将List(3,5,8)中所有的元素都*2,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,16),请 ...

  10. 【题解】PERIOD - Period [POJ1961] [SP263]

    [题解]PERIOD - Period [POJ1961] [SP263] 在进入这道题之前,我们需要了解 kmp 算法 不知道的童鞋可以去看一下Silent_EAG(一个可爱的女孩纸)的讲解. 关于 ...