网站地图    收藏   

主页 > 系统 > windows >

saltstack同步文件和python调用 - Windows操作系统 - 自

来源:自学PHP网    时间:2015-04-17 17:13 作者: 阅读:

[导读] saltstack同步文件和python调用saltstack这货居然是用python2 6写的,费了好大的劲,才弄出来用python调用它 首先安装好salt-master(或者salt-minion),然后输入下面的命令: python2 6 import salt confi...

saltstack同步文件和python调用

saltstack这货居然是用python2.6写的,费了好大的劲,才弄出来用python调用它.首先安装好salt-master(或者salt-minion),然后输入下面的命令:

# python2.6

>>> import salt.config

没有错误. 那么接下来就可以用python调用salt的api干活了.

1. 同步文件

slatsatck用于同步master上的配置文件到minion节点,首先在master上增加设置:

 

# mkdir -p /srv/salt/dev/services /srv/salt/dev/states /srv/salt/prod/services /srv/salt/prod/services
# mkdir /etc/salt/master.d/
# vi fileserver.conf
# service salt-master restart 
fileserver.conf内容如下:

 

#### fileserver.conf
# Salt runs a lightweight file server written in zeromq to deliver files to
# minions. This file server is built into the master daemon and does not
# require a dedicated port.

file_roots:
  base:
    - /srv/salt/
  dev:
    - /srv/salt/dev/services
    - /srv/salt/dev/states
  prod:
    - /srv/salt/prod/services
    - /srv/salt/prod/states

 

 

# salt ‘*‘ cp.get_file salt://first.xml /tmp/first.xml
或 gzip=1-9,数字越大,压缩越高; makedirs=True 自动创建目录
# salt ‘*‘ cp.get_file salt://first.xml /tmp/salt/first.xml gzip=9 makedirs=True

这样我们就可以用脚本灵活控制服务器端(master)的配置文件的分发。

2. grains

 

1) grains的作用是在minion端的服务启动时,调用这个接口,收集minion端的信息,这些信息数据可以在salt的其他模块中直接使用,需要注意的是,这个接口只在minion端的minion服务启动时被调用一次,所以收集的数据是静态的,不会改变的,除非你重启了minion端的服务. 在master上执行下面的命令(202是minion节点id)收集minion端的信息:

 

# salt '202' grains.ls
显示:

 

 

- SSDs
    - biosreleasedate
    - biosversion
    - cpu_flags
    - cpu_model
    - cpuarch
    - domain
    - fqdn
    - fqdn_ip4
...
2) 使用grains.items模块列出所有可用grains的具体数据:
# salt '202' grains.items3) 查看所有节点的IP地址:

 

 

# salt ‘*‘ grains.item ipv4   # NOT grains.items
4) 查看202的os版本:
# salt ‘202‘ grains.item os

 

3. 目录同步

cp.get_dir,get_dir与get_file的用法十分相似,用来将整个目录分发到minions. 本例在master的/srv/salt下创建目录和文件:

/srv/salt/hadoop_conf_dir/hadoop.config, 同步到所有minion节点的/tmp/hacl_conf下面, 如果目录不存在则创建,使用压缩

 

# salt ‘*‘ cp.get_dir salt://hadoop_conf_dir /tmp/hacl_conf gzip=9 makedirs=True
这样,minion上为:

 

/tmp/hacl_conf/hadoop_conf_dir/hadoop.config

4. pillar接口

TODO:

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论