saltstack部署LAMP架构
 简介
   SaltStack是基于Python语言实现、结合轻量级消息队列与Python第三方模块构建的一款服务器基础架构集中化管理平台,主要功能为配置管理、远程执行、监控等。
我们可以通过部署SaltStack达到在成千万台服务器上批量执行命令的效果并可以根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理。
SaltStack有利于运维人员提高工作效率、规范业务配置与操作
前期准备
准备两台Centos7虚拟机,配置IP地址和hostname,关闭防火墙和selinux,同步系统时间,配置IP地址和hostname映射
| hostname | ip | 
|---|---|
| master | 192.168.29.132 | 
| node | 192.168.29.134 | 
部署saltstack
两结点安装epel源
[ ~]# yum install epel-release -y [ ~]# yum install epel-release -y
master结点安装配置salt-master和salt-minion
[ ~]# yum install salt-master salt-minion -y
[ ~]# vi /etc/salt/master
interface: 0.0.0.0
file_roots:
#设定调用文件的根目录
  base:
    - /srv/salt
#启动服务
[ ~]# systemctl start salt-masternode结点安装配置salt-minion
[ ~]# yum install salt-minion -y #修改配置文件 [ ~]# vi /etc/salt/minion master: 192.168.29.132 id: slave #启动服务 [ ~]# systemctl start salt-minion
密钥认证
#master查看密钥列表
[ ~]# salt-key -L    
Accepted Keys:
Denied Keys:
Unaccepted Keys:
slave
Rejected Keys:
#master查看密钥匹配
[ ~]# salt-key -f slave      
#node结点请求密钥匹配
[ ~]# salt-call --local key.finger
#master结点接收密钥
[ ~]# salt-key -a slave
#再次查看密钥列表
[ ~]# salt-key -L    
#探测node结点主机状态
[ ~]# salt ‘slave‘ test.ping
slave:
    Truesaltstack架构部署完成
通过saltstack搭建LAMP架构
生成模块目录
[ ~]# tree /srv/
/srv/
└── salt
    ├── httpd
    │   ├── httpd.sls
    │   └── index.php
    ├── mysql
    │   ├── my.sh
    │   └── mysql.sls
    ├── php
    │   └── php.sls
    └── top.sls
4 directories, 6 files编写httpd.sls
[ ~]# vi /srv/salt/httpd/httpd.sls 
#安装httpd
httpd-install:
  pkg.installed:
    - name: httpd
#传输本地主页文件到远端
httpd-index:
  file.managed:
    - name: /var/www/html/index.php
    - source: salt://httpd/index.php
#开启服务
httpd-service:
  service.running:
    - name: httpd
    - enable: True编写httpd主页文件
[ ~]# vi /srv/salt/httpd/index.php <?php phpinfo(); ?>
编写mysql.sls
[ ~]# vi /srv/salt/mysql/mysql.sls 
mysql-install:
  pkg.installed:
    - pkgs:
      - mariadb-server
      - mariadb
mysql-service:
  service.running:
    - name: mariadb
    - enable: True
#传送脚本并执行脚本
mysql-script:
  file.managed:
    - name: /tmp/my.sh
    - source: salt://mysql/my.sh
  cmd.run:
    - name: cd /tmp/ && chmod +x my.sh && ./my.sh编写执行脚本
[ ~]# vi /srv/salt/mysql/my.sh #设置密码 mysqladmin password "your_password" #创建数据库 mysql -u root --password="your_password" -e "create database if not exists mydb"
编写php.sls
[ ~]# vi /srv/salt/php/php.sls 
php-install:
  pkg.installed:
    - pkgs:
      - php
      - php-gd
      - php-ldap
      - php-odbc
      - php-pear
      - php-xml
      - php-xmlrpc
      - php-mbstring
      - php-snmp
      - php-soap
      - curl
      - libcurl-devel
      - php-bcmath
#重启httpd服务
httpd-stop:
  cmd.run:
    - name: systemctl restart httpd编写top.sls
[ ~]# vi /srv/salt/top.sls 
base:
  ‘slave‘:
    - httpd.httpd
    - mysql.mysql
    - php.php执行top.sls
[ ~]# salt ‘slave‘ state.highstate #执行成功显示如下 Succeeded: 9 Failed: 0
测试验证
查看数据库
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mydb | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.01 sec)
浏览器访问http://node
自此saltstack部署LAMP架构完成
相关推荐
  80327065    2020-06-28  
   SSCCGo    2020-04-10  
   88403461    2020-03-28  
   88403461    2020-03-28  
   83317360    2020-03-28  
   82413564    2020-03-28  
   80183857    2020-03-28  
   SSCCGo    2020-03-28  
   SSCCGo    2020-03-26  
   SSCCGo    2020-03-23  
   80327065    2020-03-09  
   80183857    2020-02-27  
   80327065    2020-02-20  
   80327065    2020-02-03  
   SSCCGo    2019-12-28  
   80327065    2019-12-23  
   quguang    2019-12-02  
   89367161    2019-10-19