实时警报通知:微信告警通知的重要性解析
760
2023-02-14
基于saltstack实现的配置集中化管理
一、设备环境说明有两组web业务服务器,组名分别为web1group与web2group,设备硬件配置、web根目录存在异常.
二、master配置说明1、关键配置定义:
1 2 3 4 5 6 7 8 9 10 11 | nodegroups: web1group:'L@SN2012-07-010,SN2012-07-011,SN2012-07-012' web2group:'L@SN2013-08-021,SN2013-08-022' file_roots: base: -/srv/salt pillar_roots: base: -/srv/pillar |
2、定义的文件树结构
2)同步grains模块
1 | # salt '*' saltutil.sync_all |
3)刷新模块(让minion编译模块)
1 | # salt '*' sys.reload_modules |
4)验证max_open_file key的value
1 2 3 4 5 6 7 8 9 10 11 | [root@SN2013-08-020_grains]# salt '*' grains.item max_open_file SN2013-08-022: max_open_file:1024 SN2013-08-021: max_open_file:1024 SN2012-07-011: max_open_file:1024 SN2012-07-012: max_open_file:1024 SN2012-07-010: max_open_file:1024 |
四、配置pillar本例使用分组规则定义pillar,即不同分组引用各自的sls属性1)定义入口top.sls#vi /srv/pillar/top.sls
1 2 3 4 5 6 7 | base: web1group: -match:nodegroup -web1server web2group: -match:nodegroup -web2server |
2)定义私有配置,本例只配置web_root的数据,当然可以根据不同需求进行定制,格式为python的字典形式,即"key:value"。
3)验证配置结果:
五、配置States1)定义入口top.sls
1 2 3 4 | #vi /srv/salt/top.sls base: '*': -nginx |
2)定义nginx配置及重启服务SLS,其中salt://nginx/nginx.conf为配置模板文件位置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #vi /srv/salt/nginx.sls view plainprint? nginx: pkg: -installed file.managed: -source:salt://nginx/nginx.conf -name:/etc/nginx/nginx.conf -user:root -group:root -mode:644 -template:jinja service.running: -enable:True -reload:True -watch: -file:/etc/nginx/nginx.conf -pkg:nginx |
3)Nginx配置文件(引用jinja模板)功能点:1、worker_processes参数采用grains['num_cpus'] 上报值(与设备CPU核数一致);2、worker_cpu_affinity分配多核CPU根据当前设备核数进行匹配,分别为2\4\8\其它核;3、worker_rlimit_nofile参数与grains['max_open_file'] 获取的系统ulimit -n一致;4、worker_connections 参数理论上为grains['max_open_file'];5、 root参数为定制的pillar['nginx']['root']值。
4)同步配置
1 | #salt '*' state.highstate |
5)验证结果:注意查看root定义值和worker_processes值。1、登录root@SN2013-08-021
1 | #vi /etc/nginx/nginx.conf |
2、登录root@SN2012-07-010
1 | #vi /etc/nginx/nginx.conf |
发表评论
暂时没有评论,来抢沙发吧~