saltstack 源码安装

http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
 
 
启动问题

源码安装后,还需要手动拷贝配置文件模板到/etc/salt/内

cp salt-0.17.0/conf/master /etc/salt/

cp salt-0.17.0/conf/minion /etc/salt/

 

=====================================================================

saltsack yum安装

1,yum源  选择epel源(使用阿里的epel源)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

安装这个之前如果有其他的epel源记得提前备份好

 

服务器安装 yum install salt-master -y

客户端安装 yum install salt-minion -y

安装如果报错:

file /usr/lib64/python2.6/zipfile.pyo from install of python-libs-2.6.6-64.el6.x86_64 conflicts with file from package python-2.6.6-29.el6_2.2.x86_64
升级下python版本
yum update python

 

2、master安装:

yum -y install salt-master --enablerepo=epel-testing #yum -y install salt-ssh salt-syndic salt-cloud --enablerepo=epel-testing #可选

3、minion安装:

yum -y install salt-minion --enablerepo=epel-testing

4、master修改配置:
修改的时候一定要注意空格

master:
修改如下三个地方

interface: 192.168.150.100 auto_accept: True #自动接收客户端验证,salt-key -L 查看验证key的情况 这里如果没有设置的话启动后需要使用salt-key -A 去接收所有的小弟的key的认证 log_level: debug #这里为了方便调试 file_roots: base:- /srv/salt

下面的file_roots 打开注释

 

下面pillar_roots打开注释:

 

5、minion修改配置:
修改如下:

master: smater.salttest.com #指定主控端 id: server101.salttest.com #指定客户端标示 log_level: debug #这里为了方便调试

6、启动主控和被控节点:

service salt-master start  #默认侦听45054506端口 service salt-minion start 

6、简单测试:

[root@smater ~]# salt '*' test.ping server102.salttest.com:True server101.salttest.com:True server103.salttest.com:True
========================================

 

saltstack使用:

salt三大功能:

远程执行  配置管理  

远程执行

可以批量的在小弟中间执行命令  同时将结果返回给老大  

命令格式: salt  目标  模块.方法  

常用语句有:

salt '*' test.ping  测试主机存活

salt '*' cmd.run 'df -h'    注意:不能执行交互式的命令 如ssh  等

 

 
配置管理:
文件管理
 mkdir /srv/{salt,pillar}
[root@long1 srv]# cd salt/ 
[root@long1 salt]# vim host_file.sls  文件名必须以.sls结尾
/etc/hosts:            这里就是一个标识,让人很清晰的知道这个文件是做什么的  我们是要修改/etc/hosts文件 (即我们在小弟端创建文件或者修改的文件路径)
   file.managed:           调用的模块及方法
    - source: salt://files/hosts          这里指定我们在master上要推送到小弟上的文件存在的路径  这是个相对路径  我们有在master配置文件中指定salt的根目录  这里就是相对于那个目录的
    -user: root 
    -group: root
     -mode: 644 

 


然后
[root@long1 salt]# mkdir files
[root@long1 salt]# cd files/
[root@long1 files]# cp -a /etc/hosts ./

 

 

然后远程推送:
[root@long1 files]# salt '*' state.sls host_file
 
成功!
 
如果只是单纯的想将老大上面的文件拷贝到小弟上还有一个命令也可以直接办到
salt-cp 'bao.dinpay.com' /lingshi/test/bao.txt /lingshi/ 注意这里只能是文件 不能是目录
使用saltstack批量安装软件:
以nginx为例

[root@long1 salt]# vim nginx-install.sls
nginx-install: 表示一个标识 我们是要安装nginx
pkg.installed: 模块.方法 相当于命令yum install
- names:
- nginx 我们安装的软件名

/etc/nginx/conf.d/default.conf: 目标文件路径 这一部分是推送配置文件
file.managed:
- source: salt://files/default.conf
- user: root
- group: root
- mode: 644
- require: 依赖关系
- pkg: nginx-install 上面的nginx-install安装成功才做这个推送配置文件的操作
service.running: 启动nginx服务 相当于 service nginx start 命令
- names:
- nginx 启动服务的名称

[root@long1 salt]# salt '*' state.sls nginx-install    执行salt命令

 


成功!
然后可以去小弟端查看nginx服务

 

成功访问!
============
============
使用salt管理计划任务

 


查询所有root用户的计划任务
 
[root@long1 salt]# vim crontab.sls
/usr/sbin/ntpdate times.aliyun.com >>/dev/null: 这里最好写绝对路径 cron.present: - user: root - minute: '*/5' 这表示每五分钟同步一次 没写的默认是*
这里的参数有 minute hour daymonth  month  dayweek   
默认是*   *是表示每个
[root@long1 salt]# salt '*' state.sls crontab  执行salt

 


成功!
可以去小弟端查看crontab -l 
[root@long yum.repos.d]# crontab -l
 # Lines below here are managed by Salt, do not edit 
# SALT_CRON_IDENTIFIER:/usr/sbin/ntpdate times.aliyun.com >>/dev/null 
*/5 * * * * /usr/sbin/ntpdate times.aliyun.com >>/dev/null 
 
计划任务的修改只需要修改老大上的源文件 然后重新salt就可以
 
计划任务的删除:
[root@long1 salt]# vim del-crontab.sls
/usr/sbin/ntpdate times.aliyun.com >>/dev/null:
 cron.absent:
   - name: /usr/sbin/ntpdate times.aliyun.com >>/dev/null 删除的计划任务
执行salt:

 

成功!
可以去小弟端确认

 

已经没有了
 
 

 

转载于:https://www.cnblogs.com/heaven-xi/articles/9024138.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值