saltstack学习-基本介绍和安装

来源:互联网 发布:餐饮软件开发 编辑:程序博客网 时间:2024/06/05 02:28

一、介绍

Saltstack是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。

saltstack的两大功能:远程执行和配置管理

简单

既要考虑大规模部署,又要考虑小规模系统,提供适应多种场合的应用让人沮丧,但Salt非常容易设置和维护,而不用考虑项目的大小。从数量可观的本地网络系统,到跨数据中心的互联网部署,Salt设计为在任意数量的server下都可工作。salt的拓扑使用简单的server/client模式,需求的功能内建在一组daemon中。salt在几乎不改动配置的情况下就可以工作,也可以调整从而满足特定的需求。

并行执行

Salt的核心功能

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

Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。

BUILDS ON PROVEN TECHNOLOGY

Salt运用大量的技术和技巧。网络层使用卓越的`ZeroMQ`_网络类库构建,所以Salt的守护端包含了可行的和透明的AMQ代理。Salt使用公钥和master守护端认证,然后使用更快的AES`_负载通信加密;身份认证和加密对salt是不可或缺的。Salt通过`msgpack`_建立通信,使得速度更快并且网络流量少。

PYTHON客户端接口

为了允许简单的扩展,Salt执行程序可以写为纯Python模块。数据从Salt执行过程中收集到可以发送回master服务端,或者发送到任何任意程序。Salt可以从一个简单的Python API调用,或者从命令行被调用,所以Salt可以用来执行一次性命令,也可以作为一个更大的应用程序的一个组成部分。

快速,灵活,易扩展

结果是能够在1台或多台目标机器上快速执行命令的系统。Salt运行快速,安装简单,高度可定制;Salt用相同的远程执行架构满足管理不同数量服务器的需求。Salt基础设施可以集成最好的远程执行工具,增强了Salt的能力及用途,得到功能丰富实用可以适用于任何网络的系统。

开放

Salt是在`Apache 2.0协议`_下开发,可以被用来开发开放和私有项目。请将你的扩展提交回Salt项目使我们可以共同让Salt茁壮成长。请随意播撒Salt在你的系统上,享受美味芬芳。

二、同类软件对比

1)Puppet

 优点:老牌经典自动化配置软件、应用广泛、功能强大

 缺点:不能批处理,使用Ruby和DSL语言开发,没有相关技术栈的公司维护和二次开发起来比较很难,门槛比较高;缺少错误检查和报告;最致命的是Puppet的执行是无序执行,对于一些配置或者部署有先后顺序的项目比较难以处理

2)Chef

 优点:功能也比较强大(资料比较少)

 缺点:官方文档说明比较模糊浅显;执行并非push实时执行,而是client端定时获取server端数据

3)Ansible

 优点:社区年轻有活力,play-book使用yaml,简洁,不需要客户端client支持

 缺点:使用SSH管理配置,理论上慢于Saltstack,对于不苛求执行效率,Ansible也是一个不错的选择

4)Saltstack

 优点:功能不仅限于配置管理、使用Python开发、Grain/Pillar支持、自定义moudles

 缺点:社区相对比较年轻,文档资料较少(其实官方文档已经讲解得很深入了...)

三、saltstack运行模式

Saltstack的三种运行方式

·  Local

·  Master/Minion

·  Salt SSH

Saltstack最传统的运行方式还是C/S模式,需要在被管理节点上安装Minion客户端;其实Saltstack也支持SSH方式,无需安装Agent,通过SSH实现管理

 

Saltstack目前最主要的三大主要功能

·  远程执行

·  配置管理

·  云管理

四、端口

Salt-master启动会有两个端口:4505和4506

4505:为salt的消息发布专用端口

4506:为客户端与服务端通信的端口

服务器 Master客户端Minion系统配置成功,Master机通讯 Minion

五、安装

服务器端

yum install -yepel-release

yum install -ysalt-master salt-minion

客户端

yum install -yepel-release

yum install -ysalt-minion

客户端修改

# vim/etc/salt/minion        //在第16行添加,冒号后有一个空格

master: 服务器ip

 

启动服务

/etc/init.d/salt-masterstart

/etc/init.d/salt-minionstart

 

 

原创粉丝点击