centos6.5上部署集中化管理平台Saltstack!!!

项目背景:

通过部署Saltstsck环境,我们可以在成千上万的服务器上做到批量执行命令,根据不同业务特点我们可以进行配置集中化管理、分发文件、采集服务器数据、软件包管理。可以搭建我们自己的自动化运维平台,满足我们的不同场景下的需求。




实验环境:

vmware workstation 11

centos6.5的系统下  

Saltstack服务器:ip:192.168.0.10   防火墙关闭  setenforce 0

Saltstck被控端: ip:192.168.0.44   防火墙关闭  setenforce 0

SecureCRT (ssh远程连接软件)






软件介绍:

Saltstsck官网介绍:

Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds.


Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.

译文:

Saltstsck,一种新的基础设施管理的方法,在几分钟之内我们就可以部署成功,可扩展到管理成千上万的服务器,可以在几秒中内快速的进行服务器间的沟通。

Saltstsck提供了一个动态的通信总线的基础设施,可用于业务流程,远程执行,配置管理和更多的功能。


软件特点:

特性

(1)、部署简单、方便;

(2)、支持大部分UNIX/Linux及Windows环境;

(3)、主从集中化管理;

(4)、配置简单、功能强大、扩展性强;

(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;

(6)、支持API及自定义模块,可通过Python轻松扩展。







实验过程:

一、安装包含软件包Saltstack的epel源 

1、Saltstack服务器端安装:

[root@real_server01 ~]# rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Retrieving http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Preparing...                ########################################### [100%]

        package epel-release-6-8.noarch is already installed


2、Saltstack被监控端安装:

[root@ansible ~]#  rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Retrieving http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Preparing...                ########################################### [100%]

        package epel-release-6-8.noarch is already installed


二、Saltstack服务器端软件安装

[root@real_server01 ~]# yum install -y salt-master -y 

三、Saltstack被控端软件安装

[root@ansible ~]# yum install -y salt-minion 

四、Saltstack服务器端配置文件设置

1、绑定master通信IP

wKioL1cEwTWi1727AAEo-mMNEMc262.png2、自动认证

wKioL1cEwgOCluR8AADU5st08Qc076.png

3、指定Saltstack文件根目录

wKiom1cEwe_AP-VEAACreiQFAQE597.png

五、Saltstack被控端配置文件设置

1、指定master主机IP

wKioL1cEw2nBGC0ZAADNm7IvkOE940.png

2、修改被控端主机识别ID

wKiom1cEw1WiP6nJAADgy5R6Q3E936.png

六,启动服务

1、服务器端启动

wKioL1cExEvR-IAoAACjBBssAZ8595.png

2、被控端启动

wKiom1cEw9zyeUVhAACoIYoax2Y841.png

七、设置ssh信任

http://9399369.blog.51cto.com/9389369/1750915 (这是我写的双机信任,你可以只做服务器端到被控端的)

八、测试安装设置是否正确

wKioL1cExZGBzl1LAACgBh9PNQ0364.png

九、利用Saltstack远程执行命令

wKioL1cExgWTIWR_AAF6vUAk74M732.png

十、查看你主机支持的Saltstack模块和API

wKiom1cExzrRnUYsAADa939YYoY182.png

十一、获取被控端ip地址信息

wKiom1cE4Hfiq3mhAACf5ojd53I743.png十二、为所以的被控端安装mysql数据库。

wKioL1cE4miQA0L9AAAzXt6e89U504.png

十三、grains详解

grains是Saltstack的一个重要组件,用来收集被控端主机的基本信息

1、获取所有主机的grains信息

[root@real_server01 ~]# salt '*' grains.ls

fuchao002:

    - SSDs

    - biosreleasedate

    - biosversion

    - cpu_flags

    - cpu_model

    - cpuarch

    - domain

    - fqdn

    - fqdn_ip4

    - fqdn_ip6

    - gpus

    - host

    - hwaddr_interfaces

    - id

    - init

    - ip4_interfaces

    - ip6_interfaces

    - ip_interfaces

    - ipv4

    - ipv6

    - kernel

    - kernelrelease

    - locale_info

    - localhost

    - lsb_distrib_codename

    - lsb_distrib_id

    - lsb_distrib_release

    - machine_id

    - manufacturer

    - master

    - mdadm

    - mem_total

    - nodename

    - num_cpus

    - num_gpus

    - os

    - os_family

    - osarch

    - oscodename

    - osfinger

    - osfullname

    - osmajorrelease

    - osrelease

    - osrelease_info

    - path

    - productname

    - ps

    - pythonexecutable

    - pythonpath

    - pythonversion

    - saltpath

    - saltversion

    - saltversioninfo

    - selinux

    - serialnumber

    - server_id

    - shell

    - virtual

    - zmqversion

可以看到手机的主机信息特别多。

2、获取主机单项grains数据

wKiom1cE5AnwL1wXAADODwaArWk064.png十四、pillar组件

1、修改配置文件/et/salt/master,开启pillar

wKioL1cE5nXxRYbpAADuQrk7OAw846.png2、重启服务

wKiom1cE5hvTny9LAAAkB9l5rrs388.png3、查看主机的pillar信息

wKiom1cE5pzylCfPAADhdYqvSf4915.png

4、查看pillar的主目录

wKiom1cE52ryhyTLAAEzuKXij9k541.png5、创建pillar目录

[root@real_server01 ~]# install -d /srv/pillar

6、重启服务

[root@real_server01 pillar]# service salt-master restart

Stopping salt-master daemon: [  OK  ]

Starting salt-master daemon: [  OK  ]

7、定义入口文件

[root@real_server01 ~]# cd /srv/pillar/  #切换到pillar目录

[root@real_server01 pillar]# vim top.sls

base:

  '*':

    - data

[root@real_server01 pillar]# vim data.sls

appname:fuchao1

flow:

  maxconn:30000

  maxmem:3G

8、校验pillar

wKioL1cE6sKCoBEmAABHjyegJZw264.png






项目总结:Saltstack相对ansible来说知识点比较多,使用比较复杂,但是它功能更强大!我想大家都知道它有多火爆了。基本上运维工程师都要求对Saltstack有一定的理解和掌握。所以我这篇博文对大家还是有一点儿帮助的。 希望跟大家一起进步!!!





本文出自 “积少成多” 博客,谢绝转载!

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
VSftpd使用MySQL存储虚拟用户进行认证 前言 周一的时候做这个实验失败了,当时以为是pam_mysql模块的问题,今天晚上随便试试,没想到竟然成功了,遂写一篇博客来分享一下 实验拓扑 实验环境 主机 IP 作用 server1.anyisalin.com 172.16.1.2 提供ftp服务 server2.anyisalin.com 172.16.1.3 使用存储vsftpd虚拟用户 注意:本实验所有操作都在SElinux和iptables关闭的前提下进行 实验步骤 安装vsftpd并测试 以下
一、 Cacti/Nagios/Zabbix/centreon/Ganglia 之抉择 1 、 cacti Cacti 是一套基于 PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具。 简单的说 Cacti 就是一个 PHP 程序。它通过使用 SNMP 协议获取远端网络设备和相关信息,(其实就是使用 Net-SNMP 软件包的 snmpget 和 snmpwalk 命令获取)并通过 RRDTOOL 工具绘图,通过 PHP 程序展现出来。我们使用它可以展现出监控对象一段时间内的
NFS共享MySQL使用DNS轮询实现Web负载均衡 前言: 今天学习了 NFS ,遂结合前面学习的 LAMP + Bind 做一个实验,实现两台Web服务器采用同一个MySQL数据库和相同的网页文件,对LAMP和Bind不了解的可以去查看我以前写的博客: AnyISalIn的文章 实验拓扑图 实验环境 主机名 IP地址 实现 storage.anyisalin.com 192.168.2.5 NFS ns.anyisalin.com 192.168.2.2 dns,MySQL www.anyisalin
一、四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血” 本文四大名捕由linux命令所出演 无情:ps 出演 铁手:dstat 出演 追命:top 出演 冷血:htop 出演 二、进程相关基础知识 介绍四大名捕之前先介绍一下进程相关的基础知识,话不多说,看图。 三、 轻功暗器高手“无情” [PS] ps:用于显示当前进程的状态(非动态) ps [options]:
Svn集中式版本管理系统 --欺壹世充电系列 一、svn服务器 1、什么是Svn svn(subversion)是一个垮平台的开源版本控制系统。管理随时间改变的各种数据。svn会备份并记录每个文件每一次的修改更新变动,这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本。 2、Svn与Git svn是集中式的管理,存在一个中央版本库,所有开发人员在本地开发所有使用的代码都来自于这个版本库,提交代码也都必须提交到这个中央版本库。 svn版本控制系统流程如下: 1.在中央库上创建或从主干复制一个分支
小白是Emacs的忠实用户,在CentOS服务器上也要自己编译安装一个Emacs供自己使用。由于使用了很多Emacs的插件,每次启动那是很缓慢的,几乎是5s左右才打开一个文件(让大家误以为服务器配置很烂呢)。在打开文件的速度上与Vim有些差距,Vim打开文件几乎是零等待(我这里的vim是简单的配置,并没有使用额外的插件;使用Emacs的同行可不要骂我哦)。 最近发现Emacs的打开速度是巨慢无比的,之前就没有这种问题。细想了一下,主要是之前有网络连接,而这几次是没有网络连接的。所以小白就想到底是Emacs
背景: 从上面可以看到短信接口做了“短信轰炸机”的傀儡,一天的调用量达到135447次 防止此类攻击比较简单的方法就是根据来源判断是否合法,这也是大多数图片网站防盗链的处理方法。 在Haproxy中增加 aclphone_hosthdr_dom(host)-iwww.abc.comaclphone_pathpath_beg-i/duanxin/acticn.doaclphone_refererhdr_reg(referer)-ihttp://www.abc.comhttp-requestdenyifpho
某局点升级 (nginx 变 ats ,同时去掉前端的 nginx 负载层 ) ,升级之后服务就不正常,硬生生的看着十几万连接,没有流量,各种排错,可谓是把心提到嗓子眼惊心动魄的半小时,虽然做了很好的业务机制,服务不正常用户可以直接回源,不过对于我们的流量而言肯定是个锯齿了,回顾一下排查过程。 升级过程不说了,升完后对业务配置、健康心跳、磁盘设置、本地回源 DNS 简单做了检查,没发现问题。接下来就是切流量过来,前端的 DNS 按照域名哈希将请求分发过来,流量迅速到了 100M 还在上升,连接数到了几万(
系统环境:CentOS6.5 软件:mongodb2.8 原来是想到现在的数据进行添加副本集,方便读写的,没想到悲剧了,现在连原来的主数据都变成了从的数据库,怎么也换不过去 。 尝试了两个解决办法: 1 . 登录的原的主mongodb ,用rs.remove()的办法把后来添加的副本集从member里移掉,失败了。 真的悲剧了,怎么都remove不掉,因为原来的master已经变成了slave,不能remove其它成员 2 . 更改config,修改member 0 的优先级,抢占master。 执行也是
0.说明 关于一个完整的教程,还是那句话,国内的要么不完整,要么就太旧了,而且思路也不清晰,所以这里写一篇完整的给大家分享一下。 虽然对于Linux主机的监控可以通过执行特定的命令来完成,但是相比之后,通过snmp的方式来获取Linux主机的信息则会更轻松简单些,只不过在使用前的配置可能需要花多一点时间,不过这绝对值得!而且如果需要开发Linux主机的监控软件,那使用snmp肯定是首选,毕竟它可以获得的信息太多太多! 后面的内容就来分享一下 在Ubuntu上安装、配置、启动snmp以及进行远程测试的完整过