标签:SaltStack相关的结果16条:

    SaltStack源码解析 — salt-master启动过程

      SaltStack源码解析 — salt-master启动过程环境介绍 我们使用如下环境来分析SaltStack源码:系统:CentOS-7python版本:2.7.5saltstack版本:2015.5.2(Lithium)我们使用如下方法来安装salt-master:rpm-Uvhhttp://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpmyuminstallsalt-mast…

    发布于:2019-11-22 00:12:28

    SaltStack源码解析 — salt-minion启动过程

      SaltStack源码解析 — salt-minion启动过程功能介绍 salt-minion负责接收salt-master的消息,执行相应的指令。 环境介绍 系统:CentOS-7python版本:2.7.5saltstack版本:2015.5.2(Lithium) 场景描述 本节分析salt-minion启动过程,我们使用如下命令启动salt-minion:/usr/bin/salt-minion-d 总体分析 salt-minion启动过程总体分析如下…

    发布于:2019-11-21 23:48:35

    SaltStack源码解析 — Master与Minion认证过程

      SaltStack源码解析 — Master与Minion认证过程前言 在Minion进程启动的时候,先会连接Master的ReqServer请求认证,直到认证成功才会继续。下面我们分析其认证过程。 总体概述 1、完成Minion进程启动前,Minon向MasterReqServer发送cmd为_auth的payload消息;2、MasterReqServer收到Minion的消息后,使用_auth方法执行认证处理;3、开始对key文件作如下判断,如果key在m…

    发布于:2019-11-21 23:26:29

    SaltStack源码解析 — salt ‘*’ test.ping执行过程

      SaltStack源码解析 — salt ‘*’ test.ping执行过程前言 本文我们来学习salt‘*’test.ping命令实现的整个过程,涉及的组件比较多,将有助于更进一步了解SaltStack的运行机制。 总体概述 salt‘*’test.ping涉及的组件比较多,包括MasterReqServer,MasterPublisher,Minion,MasterEventPubliser等,现在概要地介绍下整个实现流程:1、在salt-master机器执行salt…

    发布于:2019-11-21 23:00:30

    理解SaltStack(1) – 设计思想

      你可以通过观察saltstack的行为来了解它是如何工作的。那就是说,很多事情发生在底层你很难注意到,就像数据文件在控制台传输。此系列文章说明saltstack是如何工作的,saltstack的子系统,以及saltstack模块化架构如何使用和扩展saltstack来管理你的整个基础架构。在我们了解saltstack的特定组件之前,有必要了解关于SaltStack如何处理基础设施管理的方方面面。实…

    发布于:2019-11-20 23:12:33

    理解SaltStack(2) – 插件

      理解SaltStack(2) –  插件没有涉及salt插件的讨论那所有关于salt方法的讨论都是不完整的。理解插件和salt的可插拔架构往往就像发现新大陆的感觉,把salt研究者变成salt的福音传道者。基本的解释是:salt的核心框架提供了高速通信和事件总线。此框架连接并验证受管系统,并为这些系统提供发送通知的方法。在这个核心框架上层,Salt的其余功能暴露为一组松散耦合的可插入子系统。可插拔的子系统salt包含超过20个的可插拔子…

    发布于:2019-11-20 21:31:24

    理解SaltStack(3) – 通信与安全

      理解SaltStack(3) – 通信与安全本节介绍Salt通信模型以及认证和安全性的基本概述。架构模型salt使用server-agent通信模型,(可以作为独立的单台服务器管理工具,也能无代理通过SSH工作)。这个服务器组件称为saltmaster,代理称为saltminion。saltmaster负责发送命令给saltminons,然后聚合显示这些命令的结果。单个saltmaster能管理数千个系统。通信模型Salt使用发布-订阅模式…

    发布于:2019-11-20 21:05:37

    理解SaltStack(4) – 远程执行

      理解SaltStack(4) – 远程执行本文介绍salt远程执行系统是如何工作的。salt一开始就是设计成为一个远程执行工具的,salt中其它子系统对远程执行使用非常频繁。salt命令设计能跨系统和跨平台工作。根据目标平台情况salt‘*’pkg.installgit命令使用yum,apt,pacman或salt的windows包仓库安装git软件。一个命令支持多个系统。salt命令以一致的数据结构返回结果。这样使得测试结果和存储结果到…

    发布于:2019-11-20 20:03:37

    理解SaltStack(5) – 状态系统

      本文介绍salt的状态系统是如何工作的。salt状态系统是在远程执行模块之后开发的,如你所想,salt状态系统是建立在远程执行模块之上的。salt状态模块除了一个重要的区别,其它的与远程执行非常类似。区别就是状态模块包含用于查看系统是否已处于正确状态的逻辑。事实上,逻辑确认后,状态模块仅仅是调用远程执行模块来执行任务的。状态系统流程状态系统与远程执行状态之间最主要的区别是状态系统内的流程控制。Sa…

    发布于:2019-11-20 19:45:57

    理解SaltStack(6) – salt runners

      runner子系统提供在saltmaster运行的salt模块(还记得执行和状态模块在目标服务器minion异步执行吗,不是在saltmaster)。Runners可用功能为列出作业状态,实时查看事件,管理salt文件服务器,查看saltmine数据,发送wake-on-lan到minions,调用webhooks和发送其它http请求等。Runners由salt-run命令行接口调用。不需要指定…

    发布于:2019-11-20 18:54:50

    理解SaltStack(7) – 系统数据

      本文讨论系统数据的两个主要方面:获取你系统的有关数据和为你的系统设置数据。salt为这两个任务分别提供了两个不同的子系统来完成:saltgrains和saltpillar。本文还介绍了第三个组件,称为saltmine,用来从minion推送数据到master的共享数据存储上以便所有的minions能访问这些数据。GRAINSGrains用来获取你系统的数据。Grains是关于底层操作系统静态信息,…

    发布于:2019-11-20 18:34:37

    理解SaltStack(8) – Python

      我知道我们之前有说过使用Salt不需要会写Python和其它代码,这当然是真的。不过会读Python代码在许多情况下会有所帮助,或者至少会读Python函数文档。本文介绍Python基础知识,帮助你更好地了解salt的工作原理。模块Salt中,每个子系统插件是一个Python模块。你可以认为salt模块是一组函数(又称命令)组成,用来管理应用(mysql.docker),系统组件(硬盘,文件)或与…

    发布于:2019-11-20 18:13:54

    SaltStack基础(1) – demo环境搭建

      salt基础系统将涉及如下几个方面:安装saltstack在受管系统运行命令定义可重复使用的配置将命令和配置应用于特定系统学习SaltStack最好的方法是做各种试验。你可以通过阅读本系列文章对saltstack有一个初步了解,saltstack非常容易配置,这里我们提供几个示例来帮助你学习。另外你可以保留你的demo环境继续做其它试验。demo环境完成如下步骤来配置一个简单的saltstack环…

    发布于:2019-11-20 17:12:13

    SaltStack基础(2) – 安装saltstack

      SaltStack基础(2) – 安装saltstack你可以从包管理器,pip,源码编译或使用bootstrap脚本安装saltstack。saltstack也提供独立的工具来创建机器和在公有和私有云安装saltstack(salt-cloud和salt-virt)。我们这里没有涉及到这些工具,不过只要你有一个系统需要管理,慢慢就会了解这些,saltstack在物理的,云和虚拟资源中使用都相同。安装如果你使用的是上一篇文章介绍的Vagrant工程,那…

    发布于:2019-11-20 17:05:08

    SaltStack基础(3) – 执行命令

      SaltStack基础(3) – 执行命令安装saltstack后,已经可以执行shell命令,更新软件包和同时分发文件到所有minions。minions执行命令后会以一致地和可配置的格式返回结果,这样你就可以很容易地查看执行了什么和工作正不正常。执行shell命令你可以使用cmd.run在saltmaster上向所有的minion发送一个shell命令来执行:salt'*'cmd.run'ls-l/etc'所有的minion将同时执行…

    发布于:2019-11-20 16:40:25

    SaltStack基础(4) – 指定目标minions

      指定目标服务器最简单的是使用minionID。这个ID值是在minion的配置文件中设置,可以在bootstrap脚本中使用-i选项指定。salt'minion1'disk.usage通配符通配符可以用在minion的ID上:salt'minion*'disk.usage指定目标的多种方法在理想的环境中,你环境中的每个系统都有一个结构化的名称,告诉你需要了解的有关硬件,操作系统和系统角色的所有信息…

    发布于:2019-11-20 16:35:04