saltstack实战之基础配置
来源:互联网 发布:ios专业视频剪辑软件 编辑:程序博客网 时间:2024/05/19 22:05
转自:http://wiki.saltstack.cn/salt-use-base
我线上大部分系统为Centos 5 以上,部署Salt方式通过Yum方式.系统软件和配置大量采用RPM包方式管理[自制RPM], 我所有的服务器采用服务器IP为Minion端的ID,每一个IP会自动匹配出IDC【机房】,ROLE【角色】,以及Pro【项目】
比如IDC【机房】获取方式:
pillar/base.sls:
##Base LabelIDC: {% if '220.181.111' in grains["id"] %} room: BJ-IDC-pro {% elif '58.32.19' in grains["id"] %} room: SH-IDC-pro {% else %} room: GZ-IDC-pro
对应的base/base.sls:
idc: grains.present: -value: {{pillar['IDC']['room']}}
¶ Salt Minion端的配置简单如下:
master: master-salt.2345.comretry_dns: 0sub_timeout: 60pki_dir: /etc/salt/pki/miniondns_check: Falseid: minion-ip
Master端可采用Nodegroups管理,按照本身服务器的属性划分:
可参考如下表格:
salt nodegroups 配置参考
参数
匹配方式
示例
G
通过grains 全局匹配
G@os: CentOS
E
正则方式匹配Minion ID
E@web\d+\.(2345|duote)\.com
L
列表方式匹配minion ID
L@minion1,minion2 or minion3*.domain.com
I
通过Pillar全局匹配
I@pdata.foobar
S
通过网段/IP地址匹配
S@192.168.1.0 /24, S@192.168.1.100
R
通过集群范围匹配
R@%foo.bar 【我没有使用过】
¶ master端配置如下:
interface: 0.0.0.0max_open_files: 100000worker_threads: 10pidfile: /var/run/salt-master.pidtimeout: 300file_roots: base: - /srv/salt/base dev: - /srv/salt/dev/file_ignore_glob: - '*.pyc' - '*.svn' - '*.swp'pillar_roots: base: - /srv/pillar/base dev: - /srv/pillar/devlog_file: /var/log/salt/masterlog_level: warningnodegroups: db-list: 'L@192.168.1.*’ web-test: 'L@192.168.23.11,192.168.22.12'
配置里面我没有太多使用Nodegroups,是因为我觉得nodegroups是个鸡肋[个人感受]
部分pillar 配置示例:
###DNS confignameservers: ['8.8.8.8','4.2.2.2']##Yum configyum_repo: {% if grains['os'] == 'CentOS' and grains["osrelease"]|int() >= 5 %} baseurl: http://yum1.2345.com/centos/$releasever/os/$basearch/ {% endif %}
对用的sls配置如下:
###system/resolv.conf.jinja{% for nameserver in pillar['nameservers'] %}nameserver {{/nameserver?action=content|nameserver|width="100%"}}{% endfor %}/etc/resolv.conf: file.managed: - source: salt://system/resolv.conf.jinja - template: jinja###system/base.repo.jinja[rc-base]name=CentOS-$releasever - Basebaseurl={{pillar['yum_repo'['baseurl']}}gpgcheck=0/etc/yum.repos.d/base.repo: file.managed: - source: salt://system/base.repo.jinja - template: jinja
以上是我生产中用到的部分配置,还有部分通过修改代码实现的,待运行稳定后会陆续放出配置.
敬请期待......
Zhangmh©2013-03-30
salt-use-base (2013-03-31 02:47:20由pengyao编辑)
- saltstack实战之基础配置
- SaltStack实战之SaltStack快速入门
- 实战使用saltstack源码安装配置mysql
- SaltStack实战之数据系统-Grains
- SaltStack实战之数据系统-Pillar
- SaltStack实战之远程执行-Targeting
- SaltStack实战之远程执行-Modules
- SaltStack实战之远程执行-Returners
- SaltStack实战之配置管理-YAML编写技巧
- SaltStack实战之配置管理-LAMP自动化部署
- SaltStack实战之配置管理-状态间关系
- SaltStack实战之配置管理-Jinja2模板
- Saltstack安装和基础配置官方文档
- 一、SaltStack安装与基础配置
- saltstack配置
- Spring Boot实战之Spring基础配置
- SaltStack实战之数据系统 Grains VS Pillar
- SaltStack实战之manage、salt-ssh和salt jobs
- <limits.h>头文件备忘【转百度百科】
- django中如何使用tinymce
- OpenVPN以及其它IP层VPN的完全链路层处理的实现
- Objective-c调用c++文件
- 第 4堂作业
- saltstack实战之基础配置
- VC 获取系统特殊文件夹的路径如:系统目录,桌面等
- Main函数
- SSH整合之 网盘上传下载系统(问题积累)
- easyui 扩展tree 为 ztree(id, pid)的扁平数据结构集
- 微软公司历史
- sizeof
- Android Camera Subsystem 架构(Binder机制)及显示分析
- 数组作数据成员