????saltstack???????ü??л?????
???????????? ???????[ 2016/10/11 14:50:19 ] ?????????????????? ???ù??? saltstack
	????Saltstack????????puppet??func???????????л?????????saltstack????python?????????????????????????????????????????????????????????????????????????????????????????????????????????saltstack?????????л??????ù?????????Nginx??????????????漰salt??grains??grains_module??pillar??States??jinja??template??????????????salt?????????????
	????????豸???????
	??????????web??????????????????web1group??web2group???豸??????á?web??????????.
	????id    groupsnode  cpus webroot
	????SN2012-07-010 web1group  2  /www
	????SN2012-07-011 web1group  4  /www
	????SN2012-07-012 web1group  2  /www
	????SN2013-08-021 web2group  2  /data
	????SN2013-08-022 web2group  2  /data
	????id groupsnode cpus webroot
	????SN2012-07-010 web1group 2 /www
	????SN2012-07-011 web1group 4 /www
	????SN2012-07-012 web1group 2 /www
	????SN2013-08-021 web2group 2 /data
	????SN2013-08-022 web2group 2 /data
	????????master???????
	????1???????????壺
	????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
	????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??????????????
	
	
	?????????????grains_module
	????1??#vi /srv/salt/_grains/nginx_config.py
	????import os??sys??commands 
	????def NginxGrains(): 
	????'''
	????return Nginx config grains value
	????''' 
	????grains = {} 
	????max_open_file=65536 
	????#Worker_info={'cpus2':'01 10'??'cpus4':'1000 0100 0010 0001'??'cpus8':'10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001'} 
	????try: 
	????getulimit=commands.getstatusoutput('source /etc/profile;ulimit -n') 
	????except Exception??e: 
	????pass 
	????if getulimit[0]==0: 
	????max_open_file=int(getulimit[1]) 
	????grains['max_open_file'] = max_open_file 
	????return grains
	????import os??sys??commands 
	????def NginxGrains(): 
	????'''
	????return Nginx config grains value
	????''' 
	????grains = {} 
	????max_open_file=65536 
	????#Worker_info={'cpus2':'01 10'??'cpus4':'1000 0100 0010 0001'??'cpus8':'10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001'} 
	????try: 
	????getulimit=commands.getstatusoutput('source /etc/profile;ulimit -n') 
	????except Exception??e: 
	????pass 
	????if getulimit[0]==0: 
	????max_open_file=int(getulimit[1]) 
	????grains['max_open_file'] = max_open_file 
	????return grains
	????2)???grains???
	????# salt '*' saltutil.sync_all
	????1
	????# salt '*' saltutil.sync_all
	????3)??????(??minion???????)
	????# salt '*' sys.reload_modules
	????1
	????# salt '*' sys.reload_modules
	????4)???max_open_file key??value
	????[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
	????[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
	????base: 
	????web1group: 
	????- match: nodegroup 
	????- web1server 
	????web2group: 
	????- match: nodegroup 
	????- web2server
	????base: 
	????web1group: 
	????- match: nodegroup 
	????- web1server 
	????web2group: 
	????- match: nodegroup 
	????- web2server
	????2)?????????????????????web_root?????????????????????????ж????????python????????????"key:value"??
	????#vi /srv/pillar/web1server.sls
	????nginx: 
	????root: /www 
	????#vi /srv/pillar/web2server.sls
	????nginx: 
	????root: /data
	????#vi /srv/pillar/web1server.sls
	????nginx: 
	????root: /www 
	????#vi /srv/pillar/web2server.sls
	????nginx: 
	????root: /data
	????3????????y????
	????#salt 'SN2013-08-021' pillar.data nginx
	????SN2013-08-021:
	????----------
	????root:
	????/data
	????#salt 'SN2012-07-010' pillar.data nginx
	????SN2012-07-010:
	????----------
	????root:
	????/www
	????#salt 'SN2013-08-021' pillar.data nginx
	????SN2013-08-021:
	????----------
	????root:
	????/data
	????#salt 'SN2012-07-010' pillar.data nginx
	????SN2012-07-010:
	????----------
	????root:
	????/www
	?????塢????States
	????1?????????top.sls
	????#vi /srv/salt/top.sls
	????base: 
	????'*': 
	????- nginx
	????1
	????2
	????3
	????4
	????#vi /srv/salt/top.sls
	????base: 
	????'*': 
	????- nginx
	????2)????nginx???ü????????SLS??????salt://nginx/nginx.conf???????????λ?á?
	????#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
	????#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
??????
					
					???·???
App??С????H5?????????????????Щ??
2024/9/11 15:34:34?????????????????????????
2024/9/10 11:13:49P-One ???????????????????????????????????????
2024/9/10 10:14:12???????????????????????????
2024/9/9 18:04:26??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44
					
			
								
								
								
								
								
								
								
								
								
								
				
sales@spasvo.com