耿宝橙的糖
奥特曼打到了小怪兽,不是偶然是必然。 书到用时方恨少,也不是偶然是必然。

 

今天上点干货。如果有初学者想一起探讨下saltstack可以留言。有问题一起解决一起学习。废话不多。来直接看下haproxy用saltstack批量安装。首先要有haproxy的包。官网我是没找到。找的还要充值买币。我给大家免费无私的提供一下。(链接:https://pan.baidu.com/s/1c1EaGt6 密码:qeoz )当然选择Yum 安装也是可以的。这里是源码包的安装方法。

 

首先准备环境:

CentOS release 6.8 

haproxy1.6版本的包

安装好的salt-master 

安装好的salt-minion

 

建议:

先在本地安装一遍haproxy后再用salt 源码安装。先自行装一遍。才能更加直观的知道怎么写状态。本地安装步骤跳过。很简单,解压然后make 运行脚本。我这里只附上用salt安装的方式:

第一步,创建目录,你的base要指定好:

在master里制定好你的base,我在这犯过错误,因为没有指定好base,所以执行的时候,提示没有找到base。造成无法批量安装haproxy。

这些都是要创建,如果你按我说的做,肯定是可以完成安装haproxy的。

创建好了目录,我们想一下,正常的源码包安装的过程:

0 先安装开发环境(gcc gcc-c++ lib等等)

1 下载源码包放到指定的路径;

2 解压源码包;

3 编译安装haproxy;

4 启动haproxy的脚本;

5 加入开机启动;

 

以上就是逻辑上的安装。在salt里是一样的。首先先来写下安装开发环境的模板:

这就是yum安装开发环境的步骤。pkg-install成为ID标识,这是可以自己命名的。为了方便看到这个是用来做什么的。命名时一定要谨慎。pkg是salt的模块,installed是方法。这就是说yum安装的模块和使用方法,然后下面的 短横杠- 空格 names 为什么加了个s因为是多个软件安装,所以加了s。- name 就是要安装的指定,上一篇有说到,缩进。空格就是缩进,是两个空格开始。然后再往下是四个空格,再往下分支是六个空格。YAML语法是固定的,它要求你必须这样写,少一个空格都会报错。这个就跟我们yum install ****** -y 的使用方式是一个意思。这个* 我是用来比喻你要安装的软件的,不是所有的意思哈。以上就是yum 安装开发环境的模块使用规则。

第二个就是下载安装包,放到指定路径然后解压、编译运行。这个是可以写到一起的。我是放到了以下的目录,这样做是为了区分、看着不乱,也建议大家这样做:

 

 

 这个内容有点多,但是不能理解的。一点点来看,首先,include: 这是包含的意思,就是刚才的开发环境要包含进来,这样就可以顺序执行,第一步就是安装开发环境的意思。- prod: pkg-install这是路径。

haproxy-install: 这是ID标示,刚才已经解释过了,就不再重复了。  file.managed:这是文件类型,下面就是使用规则,- name 这个要注意,这个的意思就是要把haproxy远程放到另一台的路径位置。然后- source:这是你本地的这个haproxy的包的位置在哪。用户,组权限这个不用我解释了吧。必带的。注意,我这里用了一个很好玩的东西, - unless: test -f /usr/lcoal/salt/haproxy-1.6.9.tar.gz。这是什么意思。如果不加这个会怎么样,那就会在你每次执行salt命令的时候,每一次都会把这个包安装一遍。会重复,为了不让它重复,让它自己判断,如果有这个包了就不再执行了。就是状态间的关系,有两个:

1 onlyif: 检查命令,当选项指向命令返回trrue的时候才执行name定义的命令。

2 Unless: 检查命令,就是说选项指向的命令返回false的时候才执行name的指向命令.第二个较为常用. Unlessname一级别。

如果这个目录不存在返回TRUE是执行,返回flase不执行。这是一个判断。

cmd.run cmd是模块,run是方法,就是执行的意思。执行什么,这个内容我不做解释。如果你看了我写的内容一定能看懂,&&符号是执行完一个再进行下一个的意思。又出现了个好玩的模块:

 

这是什么意思呢,require依赖的意思。

要指明白要依赖的哪个。这里就是指明的pkg的模块。,为什么要用依赖,说白了就是如果上面的开发环境没有执行成功,下面的安装就不再进行。这个可以参考salt模块应用。这里面有详细介绍。怕太过依赖解释,不懂真正的含义。往下接着看。

/etc/init.d/haproxy: 又定义了一个ID标示,这是什么意思,我们编译后也安装完了,该启动了,就是这个意思。这里面有一个注释的东西:

这个我为什么给注释了,因为我也没有很懂这个,ha是高可用,肯定结合负载来使用的,这个是提供给VIP的。大家感兴趣的可以百度。不懂不能乱说的。

然后就是创建一个haproxy的目录,为什么创建,因为后面的启动,这个路径你要创建好。有依赖的关系。最后就是加入开机启动。然后保存退出。往下看。这些搞完了,千万别忘记了,你的ha的启动脚本,这个你要放到相应的目录里。就是这里:

 

然后就可启动了

启动的命令:

 

 

 

 

 输出到一个文件里,这样为了可以更清楚的看到错误的地方。这样你的haproxy批量安装就算结尾了。我不愿意打命令,你可以照着我的一个字母一个字母敲。起码对你来说是加深了印象。明天我们来看nginx的安装。结合haproxy使用。

 

其实我这里有个错误,就是没有创建/usr/local/salt这个目录。这个自己去创建去。很简单,- name /usr/local/salt 添加到你觉得对的地方。拜! 

 

posted on 2017-12-21 18:38  耿宝橙的糖  阅读(320)  评论(0)    收藏  举报