牛下载:绿色软件官方软件免费下载基地!
所在位置:首页 > 新闻资讯 > 理解SaltStack(4) – 远程执行

理解SaltStack(4) – 远程执行

发布时间:2020-05-10 18:45:52来源:阅读:

本文介绍salt远程执行系统是如何工作的。
salt一开始就是设计成为一个远程执行工具的,salt中其它子系统对远程执行使用非常频繁。

salt命令设计能跨系统和跨平台工作。根据目标平台情况salt ‘*’ pkg.install git命令使用yum,apt,pacman或salt的windows包仓库安装git软件。一个命令支持多个系统。 salt命令以一致的数据结构返回结果。这样使得测试结果和存储结果到数据库变得容易。 由于接收命令是异步的,所有的目标系统能同时执行一个任务。 salt使用数百个python模块库完成远程管理,并且你可以添加自己的模块(或最好贡献你的模块到项目!)。任何能通过Python,shell命令或者任何其它接口访问的程序或服务都可以封装一个salt执行模块来执行任务。

远程执行系统通过salt命令行来访问。让我们来尝试执行一个简单的命令,然后通过salt系统来跟踪它:

salt '*' test.rand_sleep 120

基于我们对salt通信系统的了解,下面是这个命令的一些底层行为:

1.此命令通过publisher端口发送到所有已连接的minions。 2.所有minon检查此命令,评估自身与命令带的target字段是否匹配以此来决定是否应该执行这个命令。 3.目标系统执行命令并返回结果给request server。

我们来深入了解,当在minon执行命令时发生了什么。首先每个命令分到一个单独的工作线程,所以salt minion能同时执行多个任务。
那么在minion谁来执行test.rand_sleep 120命令?当然是salt执行模块!
所有用来管理系统的命令都由salt执行模块来提供。这些模块就是在salt中做实际的工作的,并且你只要用一次后就大概知道它们如何工作了。
当salt minion收到一个命令,找到正确的模块(在这个示例中是test模块),然后调用相关的函数(rand_sleep)及其参数(120)。
理解SaltStack(4) – 远程执行

反对
收藏
  • 热门资讯
  • 最新资讯
  • 应用排行榜
  • 游戏排行榜