saltstack实战之基础配置
2013-03-31 12:36
309 查看
转自: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/base.sls:
¶ Salt Minion端的配置简单如下:
Master端可采用Nodegroups管理,按照本身服务器的属性划分:
可参考如下表格:
¶ master端配置如下:
配置里面我没有太多使用Nodegroups,是因为我觉得nodegroups是个鸡肋[个人感受]
部分pillar 配置示例:
对用的sls配置如下:
以上是我生产中用到的部分配置,还有部分通过修改代码实现的,待运行稳定后会陆续放出配置.
敬请期待......
Zhangmh©2013-03-30
salt-use-base (2013-03-31 02:47:20由pengyao编辑)
我线上大部分系统为Centos 5 以上,部署Salt方式通过Yum方式.系统软件和配置大量采用RPM包方式管理[自制RPM], 我所有的服务器采用服务器IP为Minion端的ID,每一个IP会自动匹配出IDC【机房】,ROLE【角色】,以及Pro【项目】
比如IDC【机房】获取方式:
pillar/base.sls:
##Base Label IDC: {% 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.com retry_dns: 0 sub_timeout: 60 pki_dir: /etc/salt/pki/minion dns_check: False id: 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 【我没有使用过】 |
interface: 0.0.0.0 max_open_files: 100000 worker_threads: 10 pidfile: /var/run/salt-master.pid timeout: 300 file_roots: base: - /srv/salt/base dev: - /srv/salt/dev/ file_ignore_glob: - '*.pyc' - '*.svn' - '*.swp' pillar_roots: base: - /srv/pillar/base dev: - /srv/pillar/dev log_file: /var/log/salt/master log_level: warning nodegroups: db-list: 'L@192.168.1.*’ web-test: 'L@192.168.23.11,192.168.22.12'
配置里面我没有太多使用Nodegroups,是因为我觉得nodegroups是个鸡肋[个人感受]
部分pillar 配置示例:
###DNS config nameservers: ['8.8.8.8','4.2.2.2'] ##Yum config yum_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 - Base baseurl={{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编辑)
相关文章推荐
- Nginx实战基础篇二 Nginx主配置文件参数详解
- 【基础】华为设备默认路由和静态路由配置实战
- Aooms_基于SpringCloud的微服务基础开发平台实战_003_配置文件与简单的web环境搭建
- 【基础】华为设备基本和高级ACL配置实战
- 02-Linux集群实战基础篇(二)-Linux用户管理之常用命令和常用配置文件
- 【基础】华为单臂路由技术配置实战
- 【基础】华为设备浮动路由配置实战
- 【基础】使用华为三层交换实现vlan间路由配置实战
- Docker实战:网络基础配置
- 实战使用saltstack源码安装配置mysql
- 第二十二天-linux系统网络基础知识及配置实战
- 02-Linux集群实战基础篇(二)-Linux用户管理之常用命令和常用配置文
- 【基础】华为设备默认路由和静态路由配置实战
- Linux入职基础-5.25_网络配置ifconfig(应用实战9)
- Spring Boot实战之Spring基础配置
- Nginx实战基础篇二 Nginx主配置文件参数详解
- 实战Cacti网络监控(1)——基础安装配置