一、Salt概述

  • 一个配置管理系统,能够维护预定义状态的远程节点(比如,确保指定的报被安装,指定的服务在运行)。

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

二、简单

既要考虑大规模部署,又要考虑小规模系统,提供适应多种场合的应用让人沮丧,但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的能力及用途,得到功能丰富实用可以适用于任何网络的系统。

七、入门部署

7.1)关闭iptables,selinux等

7.2)安装教程参考:https://docs.saltstack.cn/topics/installation/index.html#installation

7.3)安装yum源:https://docs.saltstack.cn/topics/installation/rhel.html

7.3)安装软件,这里是为了效果,所以在master上也安装了minion

master
yum install -y salt-master salt-minion
slave
yum install -y salt-minion

7.4)加入开机自动启动

chkconfig salt-master on
chkconfig salt-minion on

7.5)启动服务

/etc/init.d/salt-master start
minion先不要着急启动,配置文件需要修改,如下操作
/etc/init.d/salt-minion start

7.6)配置minion

vim /etc/salt/minion
master: 192.168.222.145 (16行)
#id: (默认是空,可以不配主机名,也可以配主机名,也可以配ip,但是一定要注意格式,后面要有个空格,配置的主机名必须要能Ping的通)

7.7)如果上述配置了主机名,那么就要改主机名

7.8)此时可以开启minion了,然后配置认证,master与minion相互识别是需要认证的,在没有认证之前,关系都是放在minions_pre下面的,认证之后放到minions下面

[root@master master]# salt-key -a 192.168*     也可以用-A,同意所有

在所有的minion端也存放着master的公钥

7.9)到此,saltstack已经装完了,测试

正常。

八、配置管理

8.1)[root@master ~]# vim /etc/salt/master

[root@master ~]# mkdir /srv/salt/

重启一下master

8.2)创建要执行的操作,类似于yaml

[root@master salt]# pwd
/srv/salt
[root@master salt]# ls
apache.sls apache-install:
pkg.installed:
- names:
- httpd
- httpd-devel apache-service:
service.running:
- name: httpd
- enable: True
- reload: True
选定机器,选定操作,类似于ansible的inventer和playbook
[root@master salt]# salt '*' state.sls apache

8.3)高级状态,,上述只是一个状态,那么如果一个机器对应着好多个状态,那么就需要个类似于map的入口文件,定义一个机器所绑定的状态,一般文件名为top.sls,可以修改名,但不建议,这个文件必须即只能放在basic的环境下。

[root@master salt]# vim top.sls
base:
'*': //所有主机
- apache //都要执行apache这个状态
从入口文件去读取
[root@master salt]# salt '*' state.highstate

  

Saltstack入门的更多相关文章

  1. SaltStack 入门(赵班长)

    SaltStack 入门之赵班长 赵班长博客: https://www.unixhot.com/article/11   1~5章 saltstack官网文档: https://www.unixhot ...

  2. 菜鸟玩云计算之二十:saltstack入门初步

    菜鸟玩云计算之二十 SaltStack 入门初步 0. saltstack 是什么 参考下面的文章: http://docs.saltstack.com/en/latest/topics/tutori ...

  3. SaltStack 入门到精通第三篇:Salt-Minion配置文件详解

    SaltStack 入门到精通第三篇:Salt-Minion配置文件详解 作者:ArlenJ  发布日期:2014-06-09 17:52:16   ##### 主要配置设置 ##### 配置 默认值 ...

  4. SaltStack 入门到精通第二篇:Salt-master配置文件详解

    SaltStack 入门到精通第二篇:Salt-master配置文件详解     转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...

  5. SaltStack入门到精通第一篇:安装SaltStack

    SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙  发布日期:2014-06-09 17:50:36   实际环境的设定: 系统环境: centos6 或centos5 实验机 ...

  6. saltstack 入门

    1.Saltstack是什么? saltstack 是一个异构平台基础设施管理工具,具有远程执行.配置管理.云管理.只需花费数分钟就可以运行起来,扩展性足以支撑上万台服务器,速度快,服务器之间秒级通讯 ...

  7. SaltStack入门篇(七)之架构部署实战

    模块:https://docs.saltstack.com/en/2016.11/ref/states/all/index.html 实战架构图: 实验环境设置: 主机名 IP地址 角色 linux- ...

  8. SaltStack入门篇(六)之部署Redis主从实现和Job管理

    一.部署Redis主从 需求: 192.168.56.11是主,192.168.56.12是从 redis监听自己的ip地址,而不是0.0.0.0 分析: linux-node1 安装 配置 启动 l ...

  9. SaltStack入门篇(五)之salt-ssh的使用以及LAMP状态设计部署

    1.salt-ssh的使用 官方文档:https://docs.saltstack.com/en/2016.11/topics/ssh/index.html ()安装salt-ssh [root@li ...

随机推荐

  1. 2.1 C语言下的位运算

    位运算符: 注:运算量仅仅能为整型和字符型数据,不能是实数型的数据. 当进行&运算时:0&1=0.1&0=0:1&1=1:0&0=0: 当进行|运算时:0|1= ...

  2. android:json解析的两个工具:Gson和Jackson的使用小样例

    1.简单介绍 json是android与server通信过程中经常使用的数据格式,比如.例如以下是一个json格式的字符串: {"address":"Nanjing&qu ...

  3. m2014-architecture-imgserver->配置lighttpd mod_mem_cache 模块做静态资源服务器

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freehat.blog.51cto.com/1239536/989171 一 l ...

  4. vuejs开发环境搭建

    前言:现在前端最火的是3个框架:react,vue,angular.可以说着是哪个框架大大改变了前端的地位.相对于angular来说.vue同样拥有丰富的指令,并且都是典型的MVC框架,但是vue比较 ...

  5. iOS-代码修改Info.plist文件

    解决办法: 1.首先系统的Info.Plist文件是只读文件 并不能 写入.目前我个人是没有办法存入,官方属性 可以看到是readOnly 2.那么我们 就想代码修改Info.Plist文件怎么办呢, ...

  6. 《转》python学习(6)序列类型-字符串

    转自 http://www.cnblogs.com/BeginMan/archive/2013/06/08/3125502.html 二.序列类型 包含字符串.列表.元祖.模式都一样,举一反三即可.如 ...

  7. font-size对展示的影响

    实例: <head>        <style type="text/css">            span{display: inline-bloc ...

  8. Android UsageStats:应用根据启动次数、启动时间、应用名称排序

    Android 7.1.1 developers/samples/android/system/AppUsageStatistics/Application/src/main/java/com/exa ...

  9. element.style{}

    有时在写css样式,并调试时,会出现很不可思议的现象,比如:我们定义了一个<div class=”aaa”></div>,在css中定义样式,.aaa{width:500px; ...

  10. 【BZOJ5082】弗拉格 矩阵乘法

    [BZOJ5082]弗拉格 Description “如果明天进了面试,我就去爆妹子的照”——有妹子的丁相允作为一个oier,自然不能立太多flag,让我们来看一道和flag有关的题目吧 给你n个fl ...