本文介绍salt远程执行系统是如何工作的。
salt一开始就是设计成为一个远程执行工具的,salt中其它子系统对远程执行使用非常频繁。
远程执行系统通过salt命令行来访问。让我们来尝试执行一个简单的命令,然后通过salt系统来跟踪它:
- salt ‘*’ test.rand_sleep 120
基于我们对salt通信系统的了解,下面是这个命令的一些底层行为:
我们来深入了解,当在minon执行命令时发生了什么。首先每个命令分到一个单独的工作线程,所以salt minion能同时执行多个任务。
那么在minion谁来执行test.rand_sleep 120命令?当然是salt执行模块!
所有用来管理系统的命令都由salt执行模块来提供。这些模块就是在salt中做实际的工作的,并且你只要用一次后就大概知道它们如何工作了。
当salt minion收到一个命令,找到正确的模块(在这个示例中是test模块),然后调用相关的函数(rand_sleep)及其参数(120)。