设为首页 收藏本站
查看: 2458|回复: 0

[经验分享] saltstack安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-6 08:10:20 | 显示全部楼层 |阅读模式
Saltstack 介绍
Saltstack是一个新的基础设施管理工具。 目前处于快速发展阶段,可以看做是强化的Func+弱化的Puppet的组合。间接的反映出了saltstack的两大功能:远程执行和配置管理。Saltstack 使用 Python 开发的,非常简单易用和轻量级的管理工具。由 Master 和 Minion构成,通过 ZeroMQ 进行通信。

一、Saltstack基本安装

1.安装源

1.1 安装epel源

cd/usr/local/src/

wget  http://mirrors.sohu.com/fedora-e ... ease-6-8.noarch.rpm
rpm-ivh epel-release-6-8.noarch.rpm

1.2 安装rpmforge

这步很重要,在redhat 6和centos 6的epel源上没有python-jinja2。

cat/etc/issue
wget  http://apt.sw.be/redhat/el6/en/x ... 1.el6.rf.x86_64.rpm
rpm-Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
2.安装依赖包Vim /etc/yum.repos.d/epel.repo
[epel]
Baseurl=http://mirrors.hustunique.com/epel/6/x86_64/

yum install python-jinja2

3.安装saltstack只需要一台安装master即可,其他的全部安装minion.
3.1 安装salt-master
yum -y install salt-master enablerepr=epel-testing

3.2 安装salt-minion
yum -y install salt-minion enablerepr=epel-testing

4.配置saltstack

4.1 minion配置

master前面有两个空格,这行代码表示我要连接的saltstack的master是10.102.36.67:

cat /etc/salt/minion| grep "^  master"

需要修改minion的配置文件/etc/salt/minion中的master选项,进行如下操作:

master: 10.102.36.67

id: 1

id :客户端的标识,用服务端连接时,就是用此标识来连接客户端,

如:salt '1' cmd.run 'df -h'

4.2master配置

master监听10.102.36.67,老样子前面也是有两个空格,否则启动的时候会报错.

cat /etc/salt/master | grep '^  interface'

默认情况下,salt master在所有接口(0.0.0.0)上监听4505和4506两个端口. 如果想bind某个具体的IP,需要对/etc/salt/master配置文件中"interface"选项做如下修改:

interface: 10.102.36.67

修改auto_accept为True,自动接受客户端的KEY,当然也可以这里不设置,手动接受就行,接受方式:salt-key -akeyname (keyname即为客户端刚才设置的id标识)

auto_accept: True

客户端每隔30s 去服务器同步资源,时间可以随便DIY  mintus:  hours:  这样的格式

跟客户端手动执行 salt-call state.highstate命令效果一样;

schedule:

highstate:

    function:  state.highstate

     seconds:  30


5.启动saltstack

5.1 启动master

service salt-master start

5.2启动minion

service salt-minion start


6.测试saltstack

接下来的命令都在master上执行

命令的格式:salt ‘参数’‘对象’命令

6.1 查看minion列表

salt-key –L

6.2接受所有key

salt-key –A

在提示中提示y确认即可.接下来便可以向minion发送命令了

6.3简单测试

salt '*' test.ping


二、Master批量管理配置

服务器端写sls模,他的默认路径在 /srv/salt/下,没有就新建目录,然后新建一个top.sls就跟puppet的入口文件 site.pp 类似。

wKiom1Sp82-BOBJnAAAq-ATwomY257.jpg

·        Base: 默认的的起点配置项:

·        '*':这个引号内的是匹配对象,针对所有受控主机

·        rd.sc:就是指资源文件/srv/salt/rd/sc.sls

wKiom1Sp83CjSX1QAACrTrHdIOk767.jpg

看rd目录下的资源文件

wKioL1Sp9C2x5iVBAAIjgaCpZvk535.jpg

利用py模式的sls配置文件(其实就是python脚本,只要返回yaml格式的字典文件就好了),我们可以将以上的操作简化成1步,思路如下:
1,/srv/pillar/top.sls中编写配置:

base: '*': - custom

2,使用py模式编写/srv/pillar/custom/init.sls,自动读取pillar配置,例如salt id是:10.1.1.1-centos.game.web,那么project为game,然后根据获取的pillar_root组合成路径/srv/pillar/custom/game/10.1.1.1-centos.game.web.yaml,利用yaml模块从文件中读取信息,返回字典
3,在/srv/salt/top.sls文件中匹配所有的minion

‘*’:  - centos.public_services

4,/srv/salt/centos/public_services/init.sls文件使用py模式编写,配置会获取对应的minion的pillar信息,如果包含mysql配置信息且配置正确的话,则返回mysql实例的配置。

那现在要怎么使用呢,很简单,例如你的id为10.1.1.1-centos.game.web,首先在/srv/pillar/custom/目录下建个game目录(从salt id获取的项目名),然后在game目录先新建文件10.1.1.1-centos.game.web.yaml,里面写上配置信息:

mysql:  ports:    - 3306    - 3307    - 3308  version:  '5_5_25'
最后执行命令:salt 10.1.1.1-centos.game.web state.highstate -v -t 300

静静的等待执行完成就好了!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40232-1-1.html 上篇帖子: saltstack使用之二(完成部署编译nginx以及部分cp模块的使用) 下篇帖子: rpm_SaltStack安装(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表