Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 1238|回复: 3

saltstack初步应用

[复制链接]

1

主题

3

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2015-3-24 21:09:59 | 显示全部楼层 |阅读模式
Saltstack是继 Puppet、Chef 之后新出现的配置管理及远程执行工具, 目前,SaltStack 正得到越来越多的瞩目。与Puppet比,SaltStack 没有那么笨重,较为轻量,不像Puppet有一套自己的DSL用来写配置,SaltStack 使用YAML作为配置文件格式,写起来既简单又容易,同时也便于动态生成;此外,SaltStack 在远程执行命令时的速度非常快,也包含丰富的模块,saltstack很好的包含了状态管理的优点,大大提高运维人员的工作效率

1.saltstack安装
服务器
  1. yum install -y salt-master
  2. curl -L http://bootstrap.saltstack.org | sudo sh -s -- -M -N
复制代码

客户端
  1. yum install -y salt-minion
  2. wget -O - http://bootstrap.saltstack.org | sudo sh
复制代码
2.配置
服务端:
  1. default_include: master.d/*.conf
  2. interface: 0.0.0.0

  3. file_roots:
  4.   base:
  5.     - /srv/salt
  6. 将以上注释行打开后 saltmaster就可以正常运行了,至于扩展,之后会逐步写出
复制代码
客户端:

  1. default_include: minion.d/*.conf
  2. master:1.2.3.4  ##指定masterIP
  3. id: 2.3.4.5 ##指定localip  因为salt默认与master连接采用主机名形式,如主机名发生变化导致通信出现问题,所以将minion加入指定标示符,与master通信采用id为标示
复制代码
  1. service salt-master start ##服务端运行
  2. service salt-minion start ##客户端运行
复制代码
在master端查看minion认证请求
  1. salt-key -L ##查看minion请求签名列表
  2. salt-key -A 认证所有请求minion
  3. salt-key -a host 认证单个minion
  4. AcceptedKeys:已经接受的客户端
  5. UnacceptedKeys:还没有验证的客户端
  6. RejectedKeys:拒绝的客户端
复制代码

3.简单的安装配置完成后就可在master测试了
在master上运行  test.ping和远程执行命令
  1. salt '*' cmd.run 'hostname'
  2. salt '*' test.ping
复制代码

当然salt的作用不仅仅在此,它还很多模块可以使用,如远程执行脚本 cmd.script,对状态进行管理highstate等等
4.salt中的nodegrooup
如在master配置中将配置文件剥离,default_include: master.d/*.conf
则在master上执行
  1. mkdir -p /etc/salt/master.d
  2. vi node.conf
  3. nodegroups:
  4.   lg:'L@2.3.4.5,3.4.5.6'
复制代码
对minion进行分组操作,针对组进行操作
  1. salt -N 'lg' test.ping  ##对lg组进行操作
复制代码
5.帮助
可以查看帮助文档来解决这个问题,帮助文档太多了,重定向到一个文件再看
  1. salt '*' sys.doc > man.txt
复制代码

查看cmd.开头的模块
  1. grep 'cmd.' man.txt
复制代码

使用salt cmd.script命令,这个命令是从远程下载脚本在客户端执行,需要配置master配置文件
将以下行注释取消
  1. file_roots:
  2.    base:
  3.      - /srv/salt  ##默认根目录设置/srv/salt
复制代码
Thescript can be located on the salt master file server or on an HTTP/FTP server 传输协议支持http及ftp,
后期我们考虑master负载过大时,可将架构调整成分布式,并将fileserver剥离
不过最近看file模块代码里写到source源貌似不支持http和ftp了 但是支持git等~ 如果考虑代码管理可加入git等管理软件




回复

使用道具 举报

208

主题

269

帖子

1936

积分

超级版主

Rank: 8Rank: 8

积分
1936
发表于 2015-3-25 09:32:25 | 显示全部楼层
good nice
回复

使用道具 举报

63

主题

161

帖子

2628

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2628
发表于 2015-3-26 12:53:50 | 显示全部楼层
写得非常好,非常实用,nice。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2019-7-23 23:40 , Processed in 0.045984 second(s), 17 queries , Apc On.

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