您的位置:首页 > 编程语言 > Python开发

Saltstack 学习笔记(一)

2016-08-10 15:53 453 查看
Salt简介:

Salt(saltstack)是一个基础设施的自动化和配置管理工具,根据官方文档,salt是一个配置管理系统,能够维护远程节点到指定的状态(例如确保指定的包是安装的,并且指定的服务是正在运行的),并且能够分布式的在远程节点上执行命令和查询数据。

安装
本文是ubuntu 15.10作为测试,并且master和minion为同一台机器

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:saltstack/salt
sudo apt-get update
sudo apt-get install salt-master
sudo apt-get install salt-minion
service salt-master start
service salt-minion start


配置master为localhost 或127.0.0.1并且重启minion(也可以配置Id)
service salt-minion restart
查看salt-key
salt-key -L
接受salt-key
salt-key -a 'hostname'


使用
以下是些使用案例

对于nginx(安装nginx并且启动服务)
salt '*' pkg.install nginx
salt '*' service.start nginx


对于vim(安装)
salt '*' pkg.install vim


列出网卡信息
salt '*' network.intgerfaces


执行shell命令
salt '*' cmd.run 'ls -l /etc'


Grains
Salt自带的一个接口,能够获取底层的一些信息

查看所有minion的grains
salt '*' grains.ls


列出grains的数据
salt '*' grains.data


匹配所有操作系统是centos的minion,并且ping
salt -G 'os:CentOS' test.ping


匹配64位cpu架构的minion,并且返回cpu的核心数

salt -G 'cpuarch:x86_64' grains.item num_cpus


添加新的grain数据
打开minion配置文件
/etc/salt/minion
搜索grains
grains:
roles:
- webserver
- memcache
deployment: mydatacenter
你可以修改为你自定义的grain数据

roles:
- webserver
- memcache
deployment: mydatacente
重新启动minion,就可以master端查询到新的grains 数据

排错
查看master和minion的debug信息
salt-master -l debug
salt-minion -l debug


在master使用nc 命令查看minion连接的端口信息
nc -v -z salt.master.ip 4505
nc -v -z salt.master.ip 4506


salt-call的debug信息
salt-call -l debug state.highstate


前台运行
salt-minion &


Salt验证

列出master上的所有key
salt-key -L


接受所有的key
slat-key -A


设置salt file的root目录

编辑master配置文件

/etc/salt/master
添加
base:
- /srv/salt/
dev:
- /srv/salt/dev/services
- /srv/salt/dev/states
prod:
- /srv/salt/prod/services
- /srv/salt/prod/states
/srv/salt/dev/states
/srv/salt/dev/pillars


Salt States
在master上 配置以下内容
/srv/salt/top.sls
#Code to add

base:
'*':
- webserve
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python salt saltstack