https://repo.saltstack.com/

Saltstack简介:

salt是一个多平台基础设施管理工具通常只用在linux上,使用那个轻量级的通讯器,ZN用python写成的批量管理工具,完全开源,遵守Apache2协议,与puppet,chef功能,类似有一个强大的执行命令引擎,salt提供 了一个非常快速,灵活 并且容易使用的配置管理系统,称之为“saltstack”

salt.一种全新基础设施管理方式,部署轻松,在几分钟起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间妙极通讯

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

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

开发的目的为了远程 执行提供最好的解决方案,并使远程执行变得更好 ,更快,更简单,既要考虑 大规模部署 ,又要考虑小规模系统,提供适应多种场合的应用让人沮丧,但salt非常

容易设置和维护,salt设计在任一数量的srver下都可以工作salt在几乎不改动配置的情况下就可以工作,也可以调整从而满足特定的需求并照顾执行

salt的核心功能

*使用命令 发送到远程系统上是并行,而不是串行

*使用安全加密协议,

*使用最少最快的网络载荷

*提供简单的编辑接口

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

---------------------------------------------------------------------------------------------------------------------------

基本原理:

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

Minion上线后先于master端联系,把自己的pubkey发送过去

这是 master端通过salt-key-L命令就会看到minion的key,接受该minion-key后,也就是master与minion已经互信;

Master可以发送任何指令让minion执行了,salt有很多可执行的模块,比如说cmd模块,

[root@localhost ~]# hostname Master.salt.com

root@Master ~]#  vim /etc/hosts

[root@Minion ~]# hostname   Minion.salt.com

[root@Minion ~]# vim /etc/hosts

关闭防火墙设置

[root@Master ~]# service iptables stop

[root@Master ~]# chkconfig iptables off

root@Minion ~]# service iptables stop

[root@Minion ~]# chkconfig iptables off

官方文档epel源

https://repo.saltstack.com/

Master端配置

1.1准备并配置epel源

[root@Master yum.repos.d]# sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm

[root@Master yum.repos.d]# sudo yum clean expire-cache     #####更新缓存的

Loaded plugins: fastestmirror, refresh-packagekit, security

Cleaning repos: DVD epel salt-latest

3 metadata files removed

[root@Master yum.repos.d]# rpm -ql salt-master

/etc/rc.d/init.d/salt-master    #启动脚本

/etc/salt/master        #master配置文件

/usr/bin/salt          #master的核心命令

/usr/bin/salt-cp      #master的文件传输命令

/usr/bin/salt-key      #salt文件传输命令

/usr/bin/salt-master   #salt证书管理命令

/usr/bin/salt-run   #master服务命令

/usr/bin/salt-unity

[root@Master ~]# vim /etc/salt/master


root@Master ~]# cat /etc/salt/master | grep ^interface

interface: 192.168.20.138

启动master

[root@Master ~]# service salt-master start

Starting salt-master daemon:                               [确定]

[root@Master ~]# ps -aux | grep salt

Minion端配置

[root@Minion yum.repos.d]# sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm

[root@Minion yum.repos.d]# sudo yum clean expire-cache

[root@Minion yum.repos.d]#  yum -y install salt-minion

1.2-编辑主配置文件

[root@Minion ~]# rpm -ql salt-minion

/etc/rc.d/init.d/salt-minion   #启动脚本

/etc/salt/minion     #配置文件

/etc/salt/minion.d

/etc/salt/pki/minion

/etc/salt/proxy

/usr/bin/salt-call   #拉取命令

/usr/bin/salt-minion    #minion服务命令

/usr/bin/salt-proxy

[root@Minion ~]# vim /etc/salt/minion

[root@Minion ~]# grep "^master" /etc/salt/minion

Minion端配置

[root@Minion yum.repos.d]# sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm

[root@Minion yum.repos.d]# sudo yum clean expire-cache

[root@Minion yum.repos.d]#  yum -y install salt-minion

1.2-编辑主配置文件

[root@Minion ~]# rpm -ql salt-minion

/etc/rc.d/init.d/salt-minion   #启动脚本

/etc/salt/minion     #配置文件

/etc/salt/minion.d

/etc/salt/pki/minion

/etc/salt/proxy

/usr/bin/salt-call   #拉取命令

/usr/bin/salt-minion    #minion服务命令

/usr/bin/salt-proxy

[root@Minion ~]# vim /etc/salt/minion

[root@Minion ~]# grep "^master" /etc/salt/minion

master: 192.168.20.138       #### 表示我们要连接的是saltstack的master是192.168.20.138


[root@Minion ~]# service salt-minion start

Starting salt-minion:root:Minion.salt.com daemon: OK

接下来我们需要测试saltsack

Master端配置

Saltstack使用SSL签证 方式进行安全认证

1.查看 minion列表

root@Master ~]# salt-key –L   #查看当前证书的签证情况

2.接受所有key

salt-key -a 'key-name' ##接受该key

或者salt-key -A        ##接受所有key

[root@Master ~]# salt-key -A

3.简单的测试

测试1

[root@Master ~]# salt '*' test.ping

详细解析:

‘*’代表的是target是指在那些minion上操作

‘test’是一个执行模块

‘ping’是执行模块下的函数

测试2

[root@Master ~]# salt '*' cmd.run 'df -h'   #检查目标主机挂载

测试3.

所有minion安装ftp服务

[root@Master ~]# salt '*' pkg.install ftp

[root@Master ~]# salt '*' pkg.install vsftpd

参数详解:

Pkg是一个执行模块

Install是一个模块下面的参数

ftp是函数的参数(arg),有的函数需要参数,有的则不需要

------------------------------------------------------------------------------------------------------------------------------

Saltstack的部署及其详解的更多相关文章

  1. t持久化与集群部署开发详解

    Quartz.net持久化与集群部署开发详解 序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我 ...

  2. centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解

    centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...

  3. Kubernetes 部署策略详解-转载学习

    Kubernetes 部署策略详解 参考:https://www.qikqiak.com/post/k8s-deployment-strategies/ 在Kubernetes中有几种不同的方式发布应 ...

  4. OpenVPN CentOS7 安装部署配置详解

    一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...

  5. 2、Redis 底层原理:Cluster 集群部署与详解

    Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...

  6. OpenStack 部署步骤详解(mitaka/ocata/一键部署)

    正文 OpenStack作为一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,开放源代码项目的云计算管理平台项目.具体知识我会在后面文章中做出介绍,本章主要按步骤给大家演示在C ...

  7. VS2013安装部署过程详解

    注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...

  8. 自动化运维工具Ansible的部署步骤详解

    本文来源于http://sofar.blog.51cto.com/353572/1579894,主要是看到这样一篇好文章,想留下来供各位同僚一起分享. 一.基础介绍 ================= ...

  9. Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解

    目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...

随机推荐

  1. MySQL,Oracle,PostgreSQL 数据库web维护客户端管理工具

    TreeDMS数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能包 ...

  2. Redis客户端管理工具的安装及使用

    1.下载及安装 请到官网下载:www.treesoft.cn,要最新的版本treeNMS, window系统下载直接解压,就可以用了,免安装,免布署. 2.登录及连接参数配置 登录后,要配置连接参数信 ...

  3. AI相关 TensorFlow -卷积神经网络 踩坑日记之一

    上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是g ...

  4. Linux常用操作命令(三)

    查看linux日志某几行 用逆序显示命令tail查看 命令格式:tail [  -r ] [  -n Number ] [ File ] [一]从第3000行开始,显示1000行.即显示3000~39 ...

  5. Example010实现浏览器兼容改内容的函数,自写

    <!-- 实例010实现浏览器兼容改内容的函数 --> <!DOCTYPE html> <html lang="en"> <head> ...

  6. 第1章 ssh和SSH服务(包含隧道内容)

    本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...

  7. 使用freemarker模板生成word文档

    项目中最近用到这个东西,做下记录. 如下图,先准备好一个(office2003)word文档当做模板.文档中图片.姓名.性别和生日已经使用占位符代替,生成过程中将会根据实际情况进行替换. 然后将wor ...

  8. Excel多表合并的宏

    Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long ...

  9. 基于JQ的单双日历,本人自己写的哈,还没封装,但是也能用

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>小 ...

  10. js获取鼠标点击的对象,点击另一个按钮删除该对象

    作为js的一名新手,对于所谓的event的了解并不是太多,仅仅根据视频教学中的例子模仿着,写了诸如: function funcname(e) { e=window.event||event };的函 ...