saltstack有3大功能:远程执行,配置管理,云管理 其中远程执行又可分解为:目标,模块,返回  这3个部分. 比如下面语句 [root@master ~]# salt '*' test.ping minion01: True minion02: True [root@master ~]# salt '*' cmd.run 'df -h' minion02: Filesystem Size Used Avail Use% Mounted on /dev/sda3 35G 4.2G 30G 1…
前几篇文章已经完成了saltstack的安装.认证,从这篇文章开始学习使用saltstack的远程执行. 1.salt远程执行命令详解Usage: salt [options] '<target>' <function> [arguments] [options] :此选项指定以何种方式匹配target. : 通配符匹配 -N: 匹配分组nodegroup -E: 正则匹配 -G:grains匹配 -I: pillar匹配 -L: 列表匹配,使用逗号或者空格匹配. -S: 使用IP…
本来转自http://www.cnblogs.com/MacoLee/p/5753640.html  版权归原作者所有 说明 salt '*' sys.list_modules #列出当前版本支持的模块 API原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的.以下API实现test.ping的示例:(其他API调用只需要改变cmd即可) import salt.client client = salt.client.LocalCli…
target 就是目标的意思,你要在那台机器上执行此命令或此状态.或者说将此动作或者状态文件推送给谁来执行,让那个minion执行可以进行一些匹配 对于拥有大量机器的环境,如果单独一台台的执行指定minion去执行,反而违saltstack设计的初衷. 它有如下参数可以使用 1. globbing 默认 [root@master scripts]# salt 'minion01' test.ping minion01: True [root@master scripts]# 2. -L,--li…
上一篇:SaltStack远程执行-模块 参考官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql Salt执行的返回是由minion返回的,是由minion直接写在数据库或者其他里面的 在minion上面安装MySQL-python (salt不支持交互所以需要yum安装是时候加参数y) salt '*' cmd.run…
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.saltstack.com/en/latest/topics/targeting/index.html#advanced-targeting-methods (1)和Minion ID相关的目标匹配方式 .MinionID匹配 [root@linux-node1 ~]# salt 'linux-node…
Saltstack远程执行 语法例:salt '*' cmd.run 'w' -  命令:salt -  目标:'*' -  模块:cmd.run,自带150+模块,也可以自己写模块 -  返回:执行后结果返回,Returnners组件 1.指定目标(targeting) 官网文档:https://docs.saltstack.com/en/latest/topics/targeting/index.html 两种定位方法:一种和minion ID有关,一种和monion ID无关 1)mini…
html,body { font-size: 15px } body { font-family: Helvetica, "Hiragino Sans GB", "微软雅黑", "Microsoft YaHei UI", SimSun, SimHei, arial, sans-serif; line-height: 1.6; margin: 0; padding: 1.33rem 1rem } h1,h2,h3,h4,h5,h6 { margin…
SaltStack远程执行详解 ●目标(Targeting) ●模块(Module) ●返回(Returnners) 混合模式-C 选项 主机名设置参照: redis-node1-redis03-idc04-soa.example.com(电商) 1.1模块介绍 [root@linux-node1 salt]# salt '*' service.available sshd linux-node1.zhurui.com:     True linux-node2.zhurui.com:    …
1.远程执行 第一条命令: [root@linux-node1 master]# salt '*' test.ping linux-node2.example.com: True linux-node1.example.com: True 说明: salt:命令 *:匹配目标,使用通配符 test.ping:模块.方法 #此处的ping并非ICMP的ping命令,而是master向minion发送了一个包,minion收到了,返回一个True [root@linux-node1 ~]# salt…
上一篇:SaltStack概述及安装 master也需要安装一个minion 启动salt-master systemctl start salt-master 配置文件在目录/etc/salt下 pki目录是在启动了产生的 修改master上面的minion配置文件/etc/salt/minion master: 192.168.56.11 启动minion systemctl start salt-minion 其他主机也同样修改配置启动 在文件夹/etc/salt下面有个文件minion_…
写在前面的话 远程执行可以说是我们使用 Saltstack 最为基础的目的.所以在这里专门作为单独的一篇来详细的聊聊. 远程执行命令 示例命令: salt '*' cmd.run 'w' 命令分析: salt 是命令本身,* 是执行目标,cmd.run 是 Saltstack 自带的模块,目前几百个. 其中一个重要的组成就是执行目标,这是我们执行命令的目的.关于目标,一般有两种选择方式: 1. 基于 Minion ID 的选择方式. 2. 基于 Minion 属性的选择方式. 和 Minion…
1:安装 修改hosts文件,必须保证Master端和Minion端都有完整的FQDN名示例如下: vim /etc/hosts 192.168.31.101 node2 node2.crazylinux.xyz 192.168.31.102 node3 node3.crazylinux.xyz 为了保证Master端和Minion的连通性,建议关闭防火墙以及selinx. systemctl stop firewalld setenforce 0 配置epel源 rpm -ivh https:…
saltstack 支持在master上向client 远程执行命令,并显示命令执行的结果 命令格式: salt '<操作目标>' <方法> [参数] 示例 示例1 ping检查agent *:代表所有minion主机:test:模块: ping:test模块的一个方法,这里的单引号也可以使用双引号 [root@stack-master ~]# salt '*' test.ping stack-master: True stack-node01: True stack-node02…
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,centos上可直接yum安装 有提供UI(浏览器图形化)www.ansible.com/tower,收费的 官方文档 http://docs.ansible.com/ansible/latest/index.html ansible已经被redhat公司收购,它在github上是一个非常受欢迎的开源软…
一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问题 Puppet (www.puppetlabs.com)基于rubby开发,c/s架构,支持多平台,可管理配置文件.用户.cron任务.软件包.系统服务等. 分为社区版(免费)和企业版(收费),企业版支持图形化配置. Saltstack(官网 https://saltstack.com,文档doc…
Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: /** * Get Object of return from js * * @author Aaron.ffp * @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java execJSR, 2015-8-9 1:39:17 Ex…
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.saltstack.com/en/latest/topics/targeting/index.html#advanced-targeting-methods (1)和Minion ID相关的目标匹配方式 1.MinionID匹配 [root@linux-node1 ~]# salt 'linux-nod…
Syndic建立在中心Master和Minions之间, 并允许多层分级Syndic, 使Salt拓扑可以变得更为灵活. 那么Syndic是如何工作的? 当前有哪些优势和局限哪? Syndic的优势和局限 优势1.通过Syndic, 可以建立多层级的Salt拓扑, Syndic下的Minions即可通过Syndic所在的Master进行管理, 也可以通过MasterOfMaster及更高层级的Master进行管理, 架构变得异常灵活.2.由于Syndic只订阅MasterOfMaster下发下来…
#运维管理工具 ansible #支持ssh,不需要客户端 saltstack #也是只是ssh,不需要客户端的 安装架构是,master /minion 安装salt的依赖模块 python zeromq 是一个消息队列 ,master和minion通信,需要将master发送的命令,放入一个队列中 rabbitmq rpc 远程消息调用 pyzmp pycrypto msgpack-python yaml jinja2 yaml-是一个新兴的语法格式 salt ansible python…
点击架构师成长之路 架构师成长之路5.2-Saltstack远程执行 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC工具配置才可以 Ansible:1.采用python编程语言:2.被红帽收购:3.轻量级:4.基于模块工作的,本身没有批量部署的能力,真正批量部署的是ansible所运行的模块. Saltstack:采用python编程语言,同时提供Rest API方便二次开发以及和其它平台进行集成(目前企业使用率最高) Sal…
利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令 master端想要执行类似 salt '*' cmd.run 'uptime' 在saltclient里可以这么写 import salt.client local = salt.client.LocalClient() local.cmd('*', 'cmd.run', ['uptime']) 也可以放到后台执行只返回一个jid cmd_async('*', 'cmd.r…
前言 此程序需要ganymed-ssh2-build210.jar包(下载地址:http://www.ganymed.ethz.ch/ssh2/) 为了调试方便,可以将\ganymed-ssh2-build210\src下的代码直接拷贝到工程里, 此源码的好处就是没有依赖很多其他的包,拷贝过来干干净净. 简介 目的:是执行远程机器上的Shell脚本;远程机器IP:***.**.**.***用户名:sshapp密码:sshapp登录后用pwd命令,显示当前目录为:/sshapp.在/sshapp/…
数据系统-Pillar pillar和grains类似,但是它能给minion指定它想要的数据,安全性较好,另外它是在master端设置的   应用场景: grains的特性–每次启动汇报.静态决定了它没有pillar灵活,要知道pillar是随时可变的,只要在master端修改了那一般都会立刻生效的. 所以grains更适合做一些静态的属性值的采集,例如设备的角色(role),磁盘个数(disk_num)等诸如此类非常固定的属性.如果你想定义的属性值是经常变化的,那请采用pillar,如果是很…
grains是什么 grains是minion服务启动后,采集的客户端的一些基本信息,硬件信息,软件信息,网络信息,软件版本等.你可以在minion上自定义一些grains信息. 它是静态的信息,minion服务启动后采集,如果一些信息变更,需要重启minion服务.grains适合做一些静态的属性值的采集 grains的使用 salt  'minionid'  grains.ls salt  'minionid'  grains.items salt  'minionid'  grains.i…
原文地址:http://www.open-open.com/lib/view/open1384351384024.html 1. SSH简介         SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议.SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接.SSH提供两种的安全验证方式:基于密码的认证和基于密匙的认证.其中,基于密码的认证比较简单,只要知道远程主机的用户名和密码,就可以进行登录.基于密匙的认证比较麻烦,而且连接比…
模块 paramiko paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实. 1.下载安装 # pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto # 下载安装 pycrypto wget http://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gz tar…
SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结. 远程执行命令 如果我们要查看一下某台主机的磁盘使用情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直接把结果显示出来.整个过程就像是在本地执行了一条命令一样: $ ssh nick@xxx.xxx…
在 linux 中我们可以使用 SSH 执行各种远程操作,同样的在 windows 平台上我们可以通过 PowerShell 获得类似的能力.本文将介绍通过 PowerShell 执行远程操作的基本信息.想了解 SSH 远程操作的同学,可以参考<SSH 远程执行任务>. 基础 MS 定义了一个叫做 WS-Management 的协议,这个协议为计算机设备远程交换管理数据提供了一个公开的标准.在 Windows 平台上,MS 通过 Windows 远程管理服务(Windows Remote Ma…
写部署脚本时,难免涉及到一些远程执行命令或者传输文件. 之前一直使用sh库,调用sh.ssh远程执行一些命令,sh.scp传输文件,但是实际使用中还是比较麻烦的,光是模拟用户登陆这一点,还需要单独定义方法模拟输入. 感受一下: from sh import ssh PASS = 'xxxx' def ssh_interact(line, stdin): line = line.strip() print(line) if line.endswith('password:'): stdin.put…