菜鸟玩云计算之二十
SaltStack 入门初步
0. saltstack 是什么
参考下面的文章:
http://docs.saltstack.com/en/latest/topics/tutorials/walkthrough.html
Salt Stack 初探 之 另外一种用 Python 写的配置管理系统
http://www.mamicode.com/info-detail-461069.html
saltstack这货居然是用python2.6写的,费了好大的劲,才弄出来用python调用它.首先安装好salt-master(或者salt-minion),然后输入下面的命令:
# python2.6
>>> import salt.config
没有错误. 那么接下来就可以用python调用salt的api干活了.
0.1 salt-key 管理
master上执行:
# 列出所有key
# 接受所有key
# 验证并接受指定minion的key
202: fd:c3:43:22:df:14:7e:b9:1e:cd:be:9a:fc:62:17:7c
在minion id: 202上执行:
local:
fd:c3:43:22:df:14:7e:b9:1e:cd:be:9a:fc:62:17:7c
在master上接受202的key:
0.2 发送命令
## 测试命令
## 打印磁盘使用
## 打印帮助文档
## 执行ls命令
## 显示minion的网络信息:
0.3 安装软件包
salt 会调用合适的包管理工具执行软件包的安装(如yum和apt):
如(节点必须配置好yum源):
1. 同步文件
slatsatck用于同步master上的配置文件到minion节点,首先在master上增加设置:
fileserver.conf内容如下:
假设在master: /srv/salt/下创建了文件: first.xml, 使用下面的命令可以实现文件first.xml下发到所有minions的/tmp下面:
这样我们就可以用脚本灵活控制服务器端(master)的配置文件的分发。
2. 目录同步
cp.get_dir,get_dir与get_file的用法十分相似,用来将整个目录分发到minions. 本例在master的/srv/salt下创建目录和文件:
/srv/salt/hadoop_conf_dir/hadoop.config, 同步到所有minion节点的/tmp/hacl_conf下面, 如果目录不存在则创建,使用压缩
这样,minion上为:
3. grains
1) grains的作用是在minion端的服务启动时,调用这个接口,收集minion端的信息,这些信息数据可以在salt的其他模块中直接使用,需要注意的是,这个接口只在minion端的minion服务启动时被调用一次,所以收集的数据是静态的,不会改变的,除非你重启了minion端的服务. 在master上执行下面的命令(202是minion节点id)收集minion端的信息:
显示:
2) 使用grains.items模块列出所有可用grains的具体数据:
3) 查看所有节点的IP地址:
4) 查看202的os版本:
4. 自定义grains_module
所有操作都是在master上运行!
4.1 写模块/srv/salt/_grains
/${module_name}.py
自定义的grains_module
存放在/srv/salt/_grains
目录,下面定义一个获取max_open_file
的grains:
max_open_file
.py内容如下:
4.2 同步grains模块
得到显示:
4.3 刷新模块(让minion编译模块)
203:
True
202:
True
4.4 验证max_open_file
203:
———-
max_open_file:
1024
202:
———-
max_open_file:
1024
5. 自定义module
存放在/srv/salt/_modules下面. 写一个测试的module: /srv/salt/_modules/nodejs.py, 内容如下:
提交到所有minions(虚拟机上时间比较长):203:
———-
grains:
modules:
– modules.nodejs
outputters:
renderers:
returners:
states:
utils:
202:
———-
grains:
modules:
– modules.nodejs
outputters:
renderers:
returners:
states:
utils:
执行:
203:
———-
Cmd:
hello
Msg:
Good-Bye
Result:
True
202:
———-
&nbs
来源:车斗
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!