saltstack之自动化配置
SaltStack
http://www.saltstack.cn/
中国saltstack 用户组
http://repo.saltstack.com
仓库
https://saltstack.com/
官网
saltAir
http://list.youku.com/albumlist/show?id=20177676&ascending=1&page=1
工具化 标准化
Python REST API
监控配置管理
Puppet + func rubyansible python
三大功能:
远程执行
配置管理 (状态)
云管理
四种运行方式:
Local
Minion/Master C/S
Dyndic- Zabbix proxy
SaltSSH
Centos 部署
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpmhttp://repo.saltstack.com/#rhel
vim /etc/saltminion
systemctl startsalt-minion
salt-key
salt-key -a linux-*
salt '*' test.ping
典型案例
1, 远程执行 salt'*'cmd.run 'uptime'
2,State 一个文件 格式 : YAML 后缀.sls
YAML:三板斧
1.缩进 2个空格, 不能TAB
2.冒号
3.短横线
apache-install:
pkg.installed:
- names:
-httpd
-httpd-devel
apache-service:
service.running:
- name: httpd
- enable:True
salt'*' state.sls web.apache
tree /var/cache/salt/
top.sls
lsof -i:4505 -n
发布与订阅
yum install -ypython-setproctitle
SaltStack数据系统
Grains:静态数据 当Minion 启动的时候收集的Minion 本地的相关信息
操作系统版本 内核版本 CPU内存 硬盘 设备型号 序列号
1, 资产管理
2,用于目标选择
3, 配置管理中使用
salt"localhost" grains.items
salt"localhost" grains.item os
salt -G'os:CentOS' cmd.run'echo hehe'
自定义 grains
vim/etc/salt/minion
/etc/salt/grains
salt'*'grains.item hehe
salt '*'saltutil.sync_grains
TOPFILE 使用案例
开发一个Grains:
Python写一个Python 脚本,返回一个字典就可以了。
Pillar
是动态的。 给特定的Minion 指定特定的数据。 只有指定的minion 自己能看到自己的数据。
top file
pillar_roots:
base:
- /srv/pillar
[*]目标选择
Grains VSPillar
类型 数据采集 应用场景 定义位置
静态 minion 启动时采集 数据查询 目标选择 配置管理 minion
动态 master 自定义 目标选择 配置管理 敏感数据 master
页:
[1]