Saltstack 是干什么的

saltstack 是一个开源异构平台基础设置管理工具

Saltstack 能干什么

如果是一个管理成千上百服务器的管理员,你会遇到场景

  1. 需要在每台服务器上面部署agent,几百台服务器难道一个一部署?

    1. agent配置使需要变更,也需要一个一个配置?

  2. 如果漏洞爆出,需要检查服务器版本,安装对应补丁,怎么办?

Saltstack 的基本原理

Saltstack 采用C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过zeroMQ消息队列通信

配置管理系统

能够维护预定义状态的远程节点(比如,确保指定的包被安装,指定的服务在运行)。

分布式远程执行系统

用来在远程节点(可以是单个节点,也可以是任意规则挑选出来的节点)上执行命令和查询数据。

什么是salt?

salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器ZMQ,用Python写成的批量管理工具,完全开源,遵守Apache2协议,与Puppet,Chef功能类似,有一个强大的远程执行命令引擎,也有一个强大的配置管理系统,通常叫做Salt State System。
minion上线后先与master端联系,把自己的pub key发过去,这时master端通过salt-key -L命令就会看到minion的key,接受该minion-key后,也就是master与minion已经互信

为什么要使用salt?

  • 简单,非常容易设置和维护,不用考虑项目的大小

  • 并发执行,命令发送到远程系统是并行的而不是串行的,使用安全的加密协议,使用最小最快的网络载荷,提供简单的编程接口。

  • 灵活易扩展,使用python开发,可以从简单的Python API调用,或者从命令行被调用,可以用来执行一次性命令,也可以作为一个更大的应用程序的一个组成部分

Saltstack的特点

  • 部署简单、方便

  • 支持大部分UNIX/Linux及Windows环境

  • 主从集中化管理

  • 配置简单、功能强大、扩展性强

  • 主控端和被控制端基于证书认证,安全可靠

  • 支持API及自定义模块,可通过python轻松扩展

Saltstack常用的模块

(1)archive模块功能:实现系统层面的压缩包调用,支持gunzip、gzip、rar、tar、unrar、unzip等。(2)cmd模块功能:实现远程的命令行调用执行(默认具备root操作权限,使用需要评估风险)。(3)cp模块功能:实现远程文件、目录的复制,以及下载URL文件等操作。(4)cron模块功能:实现被控主机的crontab操作。(5)dnsutil模块功能:实现被控主机同用DNS相关操作。(6)file模块被控主机文件常见操作,包括文件读写、权限、查找、校验等。(7)iptables模块功能:被控主机iptables支持。(8)network模块功能:返回被控主机网络信息。(9)pkg包管理模块功能:被控主机程序包管理,如yum/apt-get等。(10)Service服务模块功能:被控主机程序包服务管理。(11)其他模块还提供了user(系统用户模块)、group(系统组模块)、partition(系统分区模块)、puppet(puppet管理模块)、system(系统重启、关机模块)、timezone(时区管理模块)、nginx(Nginx管理模块)、mount(文件系统挂载模块),等等。

当然,还可以自定义模块

stalstack的更多相关文章

  1. Stalstack 连接管理配置

    Stalstack 连接管理配置 注:master端,minion端,配置完成.   Saltstack master 测试管理端minion链接状态. salt-key Accepted Keys: ...

  2. Stalstack 安装

    Stalstack 介绍 saltsack与shell自动化的区别 shell 自动化脚本 --> 串行 saltstack --> 并行 saltsack 平台管理插件 saltstac ...

  3. ssh密钥分发与ansible

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们公司的服务器达到几十台或几百台或更高的时候,利用批量管理工具管理系统是我们要做的 常用的批量管理工具有ans ...

  4. SaltStack--快速入门

    saltstack快速入门 saltstack介绍 Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯 主要功能远程执 ...

随机推荐

  1. javascript数据结构之单链表

    下面是用javascript实现的单链表,但是在输出的时候insert方法中存在问题,chrome的console报错说不能读取空的属性,调试了很久都没有通过,先在这里存着,以后再来修改一下. //数 ...

  2. TypeScript 技巧

    前言 很早以前就尝试过使用 TypeScript 来进行日常编码,但自己对静态类型语言的了解并不深入,再加上 TypeScript 的类型系统有着一定的复杂度,因此感觉自己并没有发挥好这门语言的优势, ...

  3. Redis 延迟指标监控

    Redis 延迟监控框架 Redis 2.8.13 引入了Latency Monitoring的一个新功能,可以帮助我们检查和排查引起延迟的原因. Latecny Monitoring 由如下组成: ...

  4. Docker+Rancher构建部署流水线

    工作多年,在项目部署方面, 1:以前用ftp或者rz上传更新的,每次更新算上打包.目录切换.更新遗漏.备份.出错还原.启动等工作都得搞上一来小时甚至更长,要是多两台服务器那心都凉了: 2:后来有用sv ...

  5. openwrt系统源码地址

    https://dev.openwrt.org/wiki/GetSource http://www.openwrtdl.com/wordpress/openwrt-full-tutorial

  6. 20191121-5 Scrum立会报告+燃尽图 01

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/10065 一.小组情况 组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名 ...

  7. IPv4 地址分类-for what

    怎么分的:IPV4 地址分类 A B C D E 分来做什么:IP地址为什要分类?就是a类,b类,c类...? - wuxinliulei的回答 - 知乎

  8. leetcode1283 使结果不超过阈值的最小除数

    这道题第一思路是用二分查找 因为使用二分法:所以复杂度为O(n*logk), k介于 left=sum/threshold(向下取整) 和 right=num_max之间:而right<=10^ ...

  9. PHP模板引擎Smarty内建函数section,sectionelse用法详解

    本文实例讲述了PHP模板引擎Smarty内建函数section,sectionelse用法.分享给大家供大家参考,具体如下: section 是 Smarty 模板中除了 foreach 以外的另一种 ...

  10. springMVC获取来访地址referer

    @RequestMapping("publishPost.do") public String publishPost(@Valid @ModelAttribute Post po ...