运维自动化之SaltStack简单入门

  饱食终日而无所事事,是颓也,废也。但看昨日,费九牛二虎之力除一BUG便流连于新番之中,不知东方之既黑,实乃颓颓然而荒废矣。故今日来缀一文以忏昨日之悔。

SaltStack简介

  salt是一个新的基础平台管理工具。只需花费数分钟即可运行起来, 扩展性足以支撑管理上万台服务器,数秒钟即可完成数据传递. 经常被描述为 Func 加强版+Puppet 精简版。这么说你可能不太明白,那么简单地说:Salt就是一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等。

  最为重要的一点,salt是开源的,而且是python实现的一种运维自动化的工具,这意味着我们可以对其进行一些改动,在其基础之上加上我们想要的功能,对其进行二次开发。salt的源码在这里。感兴趣的朋友可以看一下。那么既然如此,SaltStack的安装配置简单么?如果知道salt的宗旨的话,那么你就不会这么问了。正如很多最强大、最有用的工程解决方案都是基于简单原则建立起来的。SaltStack 也竭尽全力做到那样:K.I.S.S.(Keep It Stupidly Simple 简单到愚蠢)。

环境介绍

  系统:CentOS6.5两台

     Windows Server 2008 R2

  这里是把其中一台CentOS系统的机器当做master,把另一台的CentOS电脑以及Windows电脑当做minion,按照英文翻译的理解就是其中一台是用来控制另外两台的。

Salt安装与配置

  Salt之CentOS的安装与配置:

  1. 首先,如果你的系统中EPEL当前不是enabled的话,你需要先通过如下的命令对其进行启动(PS:以下命令需要在两台机器上都执行):
1 rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm

  2. 接下来,由于salt的master和minion包是分开的,所以机器需要安装相应的包,通常情况下,一个master会对应多个minion。

  在master上运行:

1 yum install salt-master

  在minion上运行:

1 yum install salt-minion

  至此,CentOS上的master就安装好了。

  3.接下来,先不要启动,先到minion进行配置,在/etc/salt/minion文件中,找到master那一行,将注释去掉,然后把master的IP或者hostname写在冒号后面。然后找到id,同样去掉注释,将此机器的ip或者hostname写上去。嗯,至此CentOS算是完成了。

  Salt之Windows的安装与配置:

  首先,下载Windows的salt-minion,链接在这里:Salt-Minion-2014.7.0-x86-Setup.exe。

  1.下载完成后,点击安装,然后,一直下一步,直到你遇见一个输入框,第一行是输入你的master的IP,当然hostname也行。第二行是你本机的IP或者hostname。

  2.完成安装后,去C盘的salt文件夹下看看你的conf文件夹下是否有一个pki文件夹以及两个文件,一个是minion,一个是minion_id文件。若没有的话自己建立一个minion文件,没有后缀名,然后将master以及id写进去,步骤同Linux版的配置。

启动服务

  如果完成了以上步骤,恭喜你快要见到胜利的曙光了,现在,启动你的master:

1 service salt-master start

  接下来,启动你的minion,LInux版启动如下:

1 service salt-minion start

  Windows启动方法就是进入C盘的salt文件夹内,然后启动salt-minion.exe,这样,你就启动了你的salt,然后去master执行如下命令:

1 salt-key -L

  如果步骤没问题的话,你会看到这样的界面:

1 [root@controller ~]# salt-key -L
2 Accepted Keys:
3 Unaccepted Keys:
4 172.1.1.72
5 172.1.19.14
6 Rejected Keys:

  然后执行如下命令接受验证请求:

1 [root@controller ~]# salt-key -A
2 The following keys are going to be accepted:
3 Unaccepted Keys:
4 172.1.1.72
5 172.1.19.14
6 Proceed? [n/Y] Y
7 Key for minion 172.16.1.72 accepted.
8 Key for minion 172.16.19.14 accepted.

  接下来可以看一下你现在能控制的minion:

 

进行测试

  接下来进行最简单的测试:在master执行如下指令:

1 [root@controller ~]# salt 172.16.19.14 test.ping
2 172.16.19.14:
3 True

  然后下面就是反馈的结果。是True说明已经可以进行控制了,那么我们控制minion安装一个软件试试。

  在minion检测软件:

1 [root@controller ~]# rpm -qa | grep mysql
2 mysql-server-5.1.73-3.el6_5.x86_64
3 mysql-libs-5.1.73-3.el6_5.x86_64
4 mysql-5.1.73-3.el6_5.x86_64

  可以看到只有三个有关mysql的。然后我们在master上控制minion安装一个软件包:

1 [root@controller ~]# salt 172.16.19.14 pkg.install sources='[{"mysql":"http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm"}]'
2 172.16.19.14:
3 ----------
4 mysql-community-release:
5 ----------
6 new:
7 el6-5
8 old:

  根据反馈信息来看,old是空,说明以前没有这个软件,而new就是我们刚刚安装的软件。接下来,我们到minion看一下是否已经成功安装了软件:

1 [root@controller ~]# rpm -qa | grep mysql
2 mysql-server-5.1.73-3.el6_5.x86_64
3 mysql-libs-5.1.73-3.el6_5.x86_64
4 mysql-5.1.73-3.el6_5.x86_64
5 [root@controller ~]# rpm -qa | grep mysql
6 mysql-server-5.1.73-3.el6_5.x86_64
7 mysql-community-release-el6-5.noarch
8 mysql-libs-5.1.73-3.el6_5.x86_64
9 mysql-5.1.73-3.el6_5.x86_64

  可以清楚的看到,比之前多了一个软件,这说明我们成功安装了软件了。

  以上,就是有关salt的简单的介绍以及安装使用了。

  如果想学习更多的有关Salt的知识,请移步去官网

  话说亲耐的新番又在呼唤我了,追番去了先。

    PS:本博客欢迎转发,但请注明博客地址及作者~

   博客地址:http://www.cnblogs.com/voidy/

   <。)#)))≦

 
分类: Charging Area
标签: 运维

运维自动化之SALTSTACK简单入门的更多相关文章

  1. 运维自动化之puppet3分钟入门

    运维自动化之puppet3分钟入门 几个月前曾因为项目需求而学了点puppet的一些知识,最近因为要给别人讲一下,也就借此博文来做一下回忆,当然了,这个puppet用起来还是很不错的,尤其对我这种懒人 ...

  2. Ansible 运维自动化 ( 配置管理工具 )

    背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...

  3. 运维自动化之salt笔记

    1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:tar ...

  4. 运维自动化之ansible的安装与使用 转

    运维自动化之ansible的安装与使用 随着服务器数量的增长,我们需要一个批量工具去提高工作效率,之前用的是puppet,ansible的简单,适用让我眼前一亮,决定写一篇ansible从安装到基本配 ...

  5. 运维自动化之系统部署 PXE(二)

    PXE介绍 Preboot Excution Environment 预启动执行环境 Intel公司研发 基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持 ...

  6. Ansible运维自动化

    Ansible运维自动化 一.Ansible-playbook的初步使用 playbook的使用,playbook可以把ansible的模块进行组合 ln -s /usr/local/python/b ...

  7. 运维自动化之Cobbler系统安装详解

    原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...

  8. 运维自动化管理服务器 CheungSSH

    CheungSSH 是一款中国人自主研发的Linux运维自动化管理服务器软件,后端使用 Python 语言+Django 的 Web 框架,前端使用 Bootstrap+Javascript+jQue ...

  9. 魅族CMDB运维自动化实践

    一.简介 原创:梁鹏 本文是根据魅族系统架构师梁鹏10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日< 魅族CMDB运维自动化实践>演讲中的分享内容整理而成. ...

随机推荐

  1. hdu1115(重力算法的多边形中心)

    标题的含义: 给定一个n刚n顶点.这是获得n分众协调多边形. http://acm.hdu.edu.cn/showproblem.php? pid=1115 题目分析: /** *出处:http:// ...

  2. eclipse android ndk 提示Type 'JNIEnv' could not be resolved 等信息解决办法

    新配置完eclipse c++ android ndk 环境后,导入项目提示以下信息 是由于没有将jni.h导入的缘故,而这个文件在ndk的目录下面.所以,参照以下步骤:Project Propert ...

  3. Benchmark与Profiler---性能调优得力助手

    转载请注明出处:http://blog.csdn.net/gaoyanjie55/article/details/34981077 性能优化.它是一种诊断性能瓶颈,能问题点进行优化的过程.前两天听完s ...

  4. Javascript中的深拷贝和浅拷贝

    var obj = { a:1, arr: [1,2] }; var obj1 = obj; //浅复制 var obj2 = deepCopy(obj); //深复制 javascript中创建对象 ...

  5. Display Database Image using MS SQL Server 2008 Reporting Services

    原文 Display Database Image using MS SQL Server 2008 Reporting Services With the new release of MS SQL ...

  6. SpringMVC注释启用

    这篇文章是我学习的网络视频SpringMVC写的过程. 谢谢公布各位前辈的视频 以下评论SpringMVC几个关键步骤,注意事项启用: 首先需要加载配置文件(假设请使用自定义路径) <? xml ...

  7. Linux命令行下载文件百度云盘

    本来想直接使用wget去下载.但百度似乎增加限制,下半停产,不就不再下.刚刚好找其他方法.另辟蹊径: http://oott123.github.io/bpcs_uploader/ 版权声明:本文博客 ...

  8. Gitserver几家互联网代理安装方法未能解决。

    1.gem安装下面的错误 root@ubuntu:/home/git/gitlab# sudo gem install bundler --no-ri --no-rdoc ERROR:  Could ...

  9. Helloworld with c

    CentOS 7 之Helloworld with c   其实我也不知道是为了啥, 到了现在这种年纪还想学习Linux下的C语言编程.因为我一直就傻傻地认为机会是垂青有准备的人,也一直呆呆地认为活到 ...

  10. MyEclipse10.0 集成 SVN

    一:下载服务端和client工具   服务端安装工具:Setup-Subversion-1.6.5.msi client安装工具:TortoiseSVN 下载地址:http://subclipse.t ...