本文以web服务器为例介绍salt服务的部署。把不同的服务组织成不同的角色,然后将角色应用到不同的节点上。通过角色的划分能够清晰的对不同的服务模块进行组织,所有角色的配置放到/srv/salt/roles下,角色用到的相关变量放到/srv/pillar/roles和/srv/pillar/nodes下,其中/srv/pillar/nodes下放置与具体节点相关的变量。
角色与配置文件
/srv/salt/roles/web.sls配置如下,包括nginx模块、rsync模块、limits模块和nfs.client:
1 2 3 4 5
| include: - nginx - rsync - limits - nfs.client
|
变量/srv/pillar/roles/web.sls如下,没有单独应用到节点的变量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| hostgroup: web vhostsdir: /data1/vhosts vhostscachedir: /data1/cache logdir: /data1/logs vhosts: - www.mall.com - static.mall.com limit_users: nginx: limit_hard: 65535 limit_soft: 65535 limit_type: nofile mounts: /data1/vhosts/static.mall.com/htdocs: device: 172.16.100.71:/data1/share fstype: nfs mkmnt: True opts: async,noatime,noexec,nosuid,soft,timeo=3,retrans=3,intr,retry=3,rsize=16384,wsize=16384
|