SaltStack 的远程执行机制

:first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; max-width: 100%; height: auto !important; margin: 2px 0; } table { border-collapse: collapse; border: 1px solid #bbbbbb; } td, th { padding: 4px 8px; border-collapse: collapse; border: 1px solid #bbbbbb; } @media only screen and (-webkit-max-device-width: 1024px), only screen and (-o-max-device-width: 1024px), only screen and (max-device-width: 1024px), only screen and (-webkit-min-device-pixel-ratio: 3), only screen and (-o-min-device-pixel-ratio: 3), only screen and (min-device-pixel-ratio: 3) { html, body { font-size: 17px; } body { line-height: 1.7; padding: 0.75rem 0.9375rem; color: #353c47; } h1 { font-size: 2.125rem; } h2 { font-size: 1.875rem; } h3 { font-size: 1.625rem; } h4 { font-size: 1.375rem; } h5 { font-size: 1.125rem; } h6 { color: inherit; } ul, ol { padding-left: 2.5rem; } blockquote { padding: 0 0.9375rem; } }
-->

div{font-size:15px;}.wiz-table-tools .wiz-table-menu-item.active .wiz-table-menu-sub {display: block}.wiz-table-tools .wiz-table-menu-sub:before, .wiz-table-tools .wiz-table-menu-sub:after {position: absolute;content: " ";border-style: solid;border-color: transparent;border-bottom-color: #cccccc;left: 22px;margin-left: -14px;top: -8px;border-width: 0 8px 8px 8px;z-index:10;}.wiz-table-tools .wiz-table-menu-sub:after {border-bottom-color: #ffffff;top: -7px;}.wiz-table-tools .wiz-table-menu-sub-item {padding: 4px 12px;font-size: 14px;}.wiz-table-tools .wiz-table-menu-sub-item.split {border-top: 1px solid #E0E0E0;}.wiz-table-tools .wiz-table-menu-sub-item:hover {background-color: #ececec;}.wiz-table-tools .wiz-table-menu-sub-item.disabled {color: #bbbbbb;cursor: default;}.wiz-table-tools .wiz-table-menu-sub-item.disabled:hover {background-color: transparent;}.wiz-table-tools .wiz-table-menu-item.wiz-table-cell-bg:hover .wiz-table-color-pad {display: block;}.wiz-table-tools .wiz-table-color-pad {display: none;padding: 10px;box-sizing: border-box;width: 85px;height: 88px;background-color: #fff;cursor: default;}.wiz-table-tools .wiz-table-color-pad > div{font-size:15px;}.wiz-table-tools .wiz-table-color-pad .wiz-table-color-pad-item {display: inline-block;width: 15px;height: 15px;margin-right: 9px;position: relative;}.wiz-table-tools .wiz-table-color-pad .wiz-table-color-pad-item i.pad-demo {position: absolute;top:3px;left:0;}.wiz-table-tools .wiz-table-color-pad .wiz-table-color-pad-item .icon-oblique_line{color: #cc0000;}.wiz-table-tools .wiz-table-color-pad .wiz-table-color-pad-item:last-child {margin-right: 0;}.wiz-table-tools .wiz-table-color-pad .wiz-table-color-pad-item.active i.editor-icon.icon-box {color: #448aff;}.wiz-table-tools .wiz-table-cell-align {display: none;padding: 10px;box-sizing: border-box;width: 85px;height: 65px;background-color: #fff;cursor: default;}.wiz-table-tools .wiz-table-cell-align .wiz-table-cell-align-item {display: inline-block;width: 15px;height: 15px;margin-right: 9px;position: relative;}.wiz-table-tools .wiz-table-cell-align .wiz-table-cell-align-item:last-child {margin-right:0}.wiz-table-tools .wiz-table-cell-align .wiz-table-cell-align-item i.valign{position: absolute;top:3px;left:0;color: #d2d2d2;}.wiz-table-tools .wiz-table-cell-align-item.active i.editor-icon.valign {color: #a1c4ff;}.wiz-table-tools .wiz-table-cell-align-item.active i.editor-icon.icon-box,.wiz-table-tools .wiz-table-cell-align-item.active i.editor-icon.align {color: #448aff;}.wiz-table-tools .wiz-table-color-pad .wiz-table-color-pad-item:last-child,.wiz-table-tools .wiz-table-cell-align .wiz-table-cell-align-item:last-child {margin-right: 0;}th.wiz-selected-cell-multi, td.wiz-selected-cell-multi {background: rgba(0,102,255,.05);}th:before,td:before,#wiz-table-col-line:before,#wiz-table-range-border_start_right:before,#wiz-table-range-border_range_right:before{content: " ";position: absolute;top: 0;bottom: 0;right: -5px;width: 9px;cursor: col-resize;background: transparent;z-index:100;}th:after,td:after,#wiz-table-row-line:before,#wiz-table-range-border_start_bottom:before,#wiz-table-range-border_range_bottom:before{content: " ";position: absolute;left: 0;right: 0;bottom: -5px;height: 9px;cursor: row-resize;background: transparent;z-index:100;}.wiz-table-container {}.wiz-table-body {position:relative;padding:0 0 10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;}.wiz-table-body table {margin:0;outline:none;}td,th {height:28px;word-break:break-all;box-sizing:border-box;outline:none;}body pre.prettyprint {padding:0;}body pre.prettyprint code {white-space: pre;}body pre.prettyprint.linenums {box-shadow:none; overflow: auto;-webkit-overflow-scrolling: touch;}body pre.prettyprint.linenums ol.linenums {box-shadow: 40px 0 0 #FBFBFC inset, 41px 0 0 #ECECF0 inset; padding: 10px 10px 10px 40px !important;}
-->

SaltStack 的远程执行特点:

SaltStack 在设计之初的定位就是远程执行工具,远程执行对于 Salt 而言是十分频繁的操作,其具有如下特点。

(1).Salt 命令是跨操作系统、跨平台的。例如:salt ‘*‘ pkg.install git 将在不同的操作系统及平台上调用 yum、apt、pacman 甚至 Salt windows 包仓库等工具。

(2).所有 Salt 命令的返回结果都是以统一的数据结构保存,这使得检查结果正确性以及存入结果至数据库十分方便。

(3).Salt minion 在执行作业上几乎是同时开始的。

(4). Salt 可以调用成本上千种的 Python 模块,以执行远程管理。同时,Salt 也可以轻易地加入其它的自定义模块

SaltStack 的远程执行机制:

例如:执行命令 salt ‘*‘ test.rand_sleep 120 时,其执行过程如下:

(1).命令通过发布者(publisher)端口,分发至所有已连接的 Salt minion;

(2).每个 Salt minion 都需要检查命令,评估是否应该在节点上运行命令;

(3).目标系统将会运行命令,并将结果返回至请求服务器。

当 Salt minion 接收到命令时,其执行过程如下:

(1).每条命令都将被分拆为一个独立的工作进程,从而 Salt minion 才能在同一时刻处理多项作业。

(2).针对 Salt 命令(结构如下图),找到正确的 module,随后以提供的 arguments 作为参数,调用 function。注意:Salt 实际上可以看做是 Python 函数的抽象层

时间: 2024-08-07 04:29:03

SaltStack 的远程执行机制的相关文章

SaltStack(三) 远程执行

一.简单测试 在前面3个小节我们介绍了SaltStack并且讲解了Salt的安装部署.相信你现在已经只有拥有一个Master和至少一个Minion.我们能做点什么呢?下面的两个章节,带领读者快速的使用SaltStack的远程执行和配置管理功能. 远程执行时SaltStack的核心功能之一.主要使用salt模块可以批量给选定的Minion端执行相应的命令,并获得返回结果.让我们执行第一个Salt命令. [[email protected] ~]# salt '*' test.ping salt-c

saltstack之远程执行

#########################################TARGETING############################################ [[email protected] pillar]# salt '*' cmd.run 'w' linux-node1.example.com: 09:22:01 up 37 min,  1 user,  load average: 0.00, 0.01, 0.06 USER     TTY      FR

一 saltstack 数据系统 远程执行

saltstack总结 官方中文网站 官方英文网站 1. 简介 三大功能 远程执行 配置管理 云管理 四种运行方式 local master / minion c/s模式(常用) syndic - (相当于zabbix proxy) salt ssh 2. 安装 1. 环境声明 系统版本和内核: CentOS Linux release 7.2.1511 (Core) 3.10.0-327.el7.x86_64 基础环境: salt-master 10.0.0.204 salt-minion 1

架构师成长之路5.2-Saltstack远程执行

点击架构师成长之路 架构师成长之路5.2-Saltstack远程执行 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC工具配置才可以 Ansible:1.采用python编程语言:2.被红帽收购:3.轻量级:4.基于模块工作的,本身没有批量部署的能力,真正批量部署的是ansible所运行的模块. Saltstack:采用python编程语言,同时提供Rest API方便二次开发以及和其它平台进行集成(目前企业使用率最高) Sal

2、自动化运维之SaltStack远程执行详解

SaltStack远程执行详解 ●目标(Targeting) ●模块(Module) ●返回(Returnners) 混合模式-C 选项 主机名设置参照: redis-node1-redis03-idc04-soa.example.com(电商) 1.1模块介绍 [[email protected] salt]# salt '*' service.available sshd linux-node1.zhurui.com: True linux-node2.zhurui.com: True 服务

Saltstack远程执行(四)

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

SaltStack实战之远程执行-Targeting

SaltStack实战之远程执行-Targeting 学习 SaltStack SaltStack实战之远程执行-Targeting 1. minion id配置 2. Targeting分类 SaltStack远程执行组成部分: 目标(Targeting) 模块(Module) 返回(Returnners) 1. minion id配置 minion id可以定义在minion配置文件中,如果未定义,默认使用的是hostname.minion id是不能变动的,因为minion与master认

SaltStack安装配置与远程执行测试

SaltStack是基于Python开发的服务器基础架构集中管理平台,也称为自动化运维工具,具备远程执行.配置管理.云管理三大功能.管理端称为Master,被管理端称为Minion,Master和Minion通过密钥认证进行加密通信,通过消息队列软件ZeroMQ进行内容传输,使用的默认端口为4505和4506.本文的主要内容为SaltStack的安装配置与远程执行测试. 一.环境准备 1.使用3台Redhat 6.5的服务器,分别是: salt-master:192.168.10.120 sal

saltstack在windows客户端远程执行脚本提示路径不对的问题

saltstack在windows客户端远程执行脚本提示路径不对的问题 环境: salt-master ==2018.3.0 salt-minion ==2018.3.0 python== 2.7.5 centos==7 问题描述: salt有个远程执行命令的模块cmd.script,在使用该模块时,出现错误: salt 'minion-id' cmd.script salt://test.ps1 shell=powershell 其中salt://为/etc/salt.conf定义的base路