root 发表于 2018-8-1 06:05:55

saltstack实现中小型架构的搭建

#tree /srv/salt/prod/memcached/  
/srv/salt/prod/memcached/
  
├── files
  
│   └── memcached-1.4.13.tar.gz
  
├── install.sls
  
├── memcached.sls
  
└── service.sls
  

  
# mkdir /srv/salt/prod/libevent/files -p
  
# mkdir /srv/salt/prod/memcached/files –p
  

  
安装libevent
  
# vim /srv/salt/prod/libevent/install.sls
  
libevent-source-install:
  
file.managed:
  
    - name:/usr/local/src/libevent-1.4.13-stable.tar.gz
  
    - source:salt://libevent/files/libevent-1.4.13-stable.tar.gz
  
    - user: root
  
    - group: root
  
    - mode: 644
  

  
cmd.run:
  
    - name: cd /usr/local/src && tarzxf libevent-1.4.13-stable.tar.gz && cd libevent-1.4.13-stable&& ./config
  
ure--prefix=/usr/local/libevent && make && make install
  
    - unless: test -d /usr/local/libevent
  
    - require:
  
      - file: libevent-source-install
  

  
安装memcached
  
# vim /srv/salt/prod/memcached/install.sls
  
include:
  
- libevent.install
  

  
memcached-source-install:
  
file.managed:
  
    - name: /usr/local/src/memcached-1.4.13.tar.gz
  
    - source:salt://memcached/files/memcached-1.4.13.tar.gz
  
    - user: root
  
    - group: root
  
    - mode: 644
  
cmd.run:
  
    - name: cd /usr/local/src && tarzxf memcached-1.4.13.tar.gz && cd memcached-1.4.13 &&./configure --prefix
  
=/usr/local/memcached--enable-64bit --with-libevent=/usr/local/libevent && make &&make install
  
    - unless: test -d /usr/local/memcached
  
    - require:
  
      - cmd: libevent-source-install
  
      - file: memcached-source-install
  

  
启动memcached
  
# vim /srv/salt/prod/memcached/service.sls
  
include:
  
- memcached.install
  
- user.www
  

  
memcached.service:
  
cmd.run:
  
    - name: /usr/local/memcached/bin/memcached-d -m 128 -p 11211 -c 8096 -u www
  
    - unless: netstat -tnlp|grep 11211
  
    - require:
  
      - cmd: memcached-source-install
  
      - user: www-user-group
  

  
在top file上定义
  
# vim /srv/salt/base/top.sls
  
base:
  
'*':
  
    - init.env_init
  

  
prod:
  
'linux-node1.example.com':
  
    - cluster.haproxy-outside
  
    - cluster.haproxy-outside-keepalived
  
    - cluster.nginx-web
  
    - cluster.php-web
  
    - cluster.mysql
  
    - memcached.service
  
'linux-node2.example.com':
  
    - cluster.haproxy-outside
  
    - cluster.haproxy-outside-keepalived
  
    - cluster.nginx-web
  
    - cluster.php-web
  
    - cluster.mysql
  
    - memcached.service
  

  
# netstat -ntlp|grep 11211
  
tcp      0   0 0.0.0.0:11211            0.0.0.0:*                   LISTEN      9485/memcached
  
tcp      0   0 :::11211                  :::*                     LISTEN      9485/memcached
  
#netstat -ntlp|grep 11211
  
tcp      0   0 0.0.0.0:11211            0.0.0.0:*                   LISTEN      5137/memcached
  
tcp      0   0 :::11211                  :::*                        LISTEN      5137/memcached
  

  
PHP Memcache
  
# vim /srv/salt/prod/php/php-memcache.sls
  
memcache-plugin:
  
file.managed:
  
    - name: /usr/local/src/memcache-2.2.5.tgz
  
    - source: salt://php/files/memcache-2.2.5.tgz
  
    - user: root
  
    - group: root
  
    - mode: 755
  
cmd.run:
  
    - name: cd /usr/local/src && tarzxf memcache-2.2.5.tgz && cd memcache-2.2.5 &&/usr/local/php/bin/phpize &
  
&./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config&& make && make install
  
    - unless: test -f/usr/local/php/lib/php/extensions/*/memcache.so
  
    - require:
  
      - file: memcache-plugin
  

  
/usr/local/php/etc/php.ini:
  
file.append:
  
    - text:
  
      - extension=memcache.so
页: [1]
查看完整版本: saltstack实现中小型架构的搭建