saltstack一键部署zabbix_agent&&管理文件


本次试验设想安装N台新机器机器都安装salt-minion后有两个可管理特性:

首先是全部机器都需要共同基础操作的“配置文件”“软件”“服务”,

然后是特殊集群需要安装的服务划出来。


这里首先在top.sls里面创建两个项目“base”是那些基础操作,"prod"里面是特殊集群的服务。


现在开始介绍环境:

Centos 6.4 x86_64

salt-minion-0.17.2-2.el6.noarch

salt-0.17.2-2.el6.noarch

salt-master-0.17.2-2.el6.noarch


本次实验是管理固定配置文件和服务,安装必备软件。

本次管理文件:

/etc/resolv.conf

/etc/sysctl.conf

/etc/security/limits.conf


管理的软件:

zabbix-agent lrzsz tree


管理的服务:

zabbix-agent


salt的配置文件

top.sls

base:
   '*':
   - initfile
   - initpkgs
   - agent
prod:
  'node*':
  - service



需要初始化的一些配置文件:

initfile.sls


/etc/resolv.conf:

 file.managed:

   - source: salt://file/resolv.conf

   - user: root

   - group: root

   - mode: 644

/etc/sysctl.conf:

 file.managed:

  - source: salt://file/sysctl.conf

   - user: root

   - group: root

   - mode: 644

/etc/security/limits.conf:

 file.managed:

   - source: salt://file/limits.conf

   - user: root

   - group: root

   - mode: 644


需要安装的一些软件包:

initpkgs.sls


initpkgs:

 pkg.installed:

  - pkgs:

   - lrzsz

   - tree

   - zabbix-agent


安装管理zabbix-agent服务:

agent.sls

zabbix-agent:

 pkg.installed:

   - name: zabbix-agent

 service.running:

   - watch:

     - pkg: zabbix-agent

     - file: /etc/zabbix/zabbix_agentd.conf

 file.managed:

   - name: /etc/zabbix/zabbix_agentd.conf

   - source:salt://file/zabbix_agentd.conf

   - user: root

   - group: root

   - mode: 644

   - template: jinja

   - defaults:

   Server: {{ pillar['zabbix-agent']['Zabbix_Server'] }}

   HOSTFQDN: {{ grains['fqdn'] }}

   - require:

     - pkg: zabbix-agent


安装管理httpd服务:

service.sls

httpd:

 pkg:

   - installed

 service.running:

   - watch:

     - pkg: httpd

     - file: /etc/httpd/conf/httpd.conf

/etc/httpd/conf/httpd.conf:

 file.managed:

   - source:salt://file/httpd.conf

   - user: root

   - group: root

   - mode: 644


首先salt-master测试一下无误以后

salt \* state.highstate -v test=Ture

再推送一次

salt \* state.highstate


你可能感兴趣的:(saltstack,部署小项目实例,批量安装pkg)