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. js 中null,undefined区别

    首先摘自阮一峰先生的文章: 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇 ...

  2. IntelliJ IDEA 2017.3 搭建一个多模块的springboot项目(一)

    新人接触springboot,IDE使用的是IntelliJ IDEA 2017.3 ,自己摸索了很久,现在自己整理一下,里面有些操作我自己也不懂是为什么这样,只是模仿公司现有的项目,自己搭建了一个简 ...

  3. GDB之调试器用法

    GDB 完成的作用: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式 当程序被停住时,可以检查此时程序中所发生的事,并追索上文 动 ...

  4. django-admin 配置

    本节讲django-admin配置方法: 1.在工程配置文件中(settings.py)中启用admin组件.确保有如下两行配置: 2.执行数据库迁移的命令,确保对应的表在数据库中已经添加了 #pyt ...

  5. vuejs2项目开发实战视频教程

    0.课程大纲 一.点餐系统(移动) 1.0.课件 1.1.项目初始化_首页顶部 1.2.首页列表_底部导航 1.3.商家顶部_商家优惠信息弹层 1.4.商品主体_类别菜单 1.5.购物车操作_商品信息 ...

  6. centos-Hadoop集群 安装同步时间

    1.安装 yum search cache ntpdate xcall.sh "yum install -y ntpdate.x86_64" 2.同步 xcall.sh " ...

  7. 一百零五:CMS系统之flask-mail使用和邮箱配置、发送邮件功能

    安装:pip install flask-mail 官方文档:https://pythonhosted.org/Flask-Mail/ 邮箱配置 MAIL_SERVER = 'smtp.qq.com' ...

  8. spark的RDD如何转换为DataFrame

    1.Dataset与RDD之间的交互 Spark仅支持两种方式来将RDD转成Dataset.第一种方式是使用反射来推断一个RDD所包含的对象的特定类型.这种基于反射的方式会让代码更加地简洁,当你在编写 ...

  9. memcached源码分析-----item过期失效处理以及LRU爬虫

    memcached源码分析-----item过期失效处理以及LRU爬虫,memcached-----item 转载请注明出处:http://blog.csdn.net/luotuo44/article ...

  10. mysql8修改密码问题

    查看初始密码: grep "temporary password" /var/log/mysqld.log 查看validate_password变量 SHOW VARIABLES ...