zoukankan      html  css  js  c++  java
  • SaltStack 的远程执行机制

    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 函数的抽象层

  • 相关阅读:
    Lock wait timeout exceeded; try restarting transaction linux设置mysql innodb_lock_wait_timeout
    用NaviCat创建存储过程批量添加测试数据
    mysql存储过程语法及实例
    mysql中迅速插入百万条测试数据的方法
    mysql学习之通过文件创建数据库以及添加数据
    有用的网站集合
    VMware Workstation虚拟磁盘文件备份或移植
    CoreData修改了数据模型报错 The model used to open the store is incompatible with the one used to create the store
    iOS中自定义UITableViewCell的用法
    golang make()的第三个参数
  • 原文地址:https://www.cnblogs.com/autopenguin/p/7093129.html
Copyright © 2011-2022 走看看