码迷,mamicode.com
首页 > 其他好文 > 详细

SaltStack 的远程执行机制

时间:2017-06-29 11:15:33      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:数据库   管理   saltstack   handle   成本   media   pos   cti   独立   

 

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 函数的抽象层
技术分享

技术分享

SaltStack 的远程执行机制

标签:数据库   管理   saltstack   handle   成本   media   pos   cti   独立   

原文地址:http://www.cnblogs.com/autopenguin/p/7093129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!