部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务

SaltStack 介绍

 
SaltStack 是一个基于 Python 开发的一套架构配置管理工具,采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。master监听4505和4506端口,4505为master和minion认证通信端口,4506为master用来发送命令或者接收minion的命令执行返回信息。

 

SaltStack 常用模块

  • SaltStack提供了非常多的功能模块,以便于对操作系统的基础功能和常用工具的操作。

    1:pkg模块 :是包管理,包括增删更新
    2:file模块 :管理文件操作,包括同步文件、设置文件权限和所属用户组、删除文件等操作
    3:cmd模块 :是在Minion上执行命令或者脚本
    4:user模块 :管理系统账户操作
    5:service模块 :管理系统服务操作
    6:cron模块 :管理cron服务操作

 

系统环境

角色 主机名 IP地址
Master master 192.168.6.117
Minion web01 192.168.6.130
Minion web02 192.168.6.129

 

开始部署

  • SaltStack 安装
  • 1、修改主机名
    # vim /etc/hostname
    三台主机分别为:
    master    //(管理)
    web01     //(被管理)
    web02     //(被管理)
    # init 6  //重启系统 让主机名生效
  • 2、修改三台服务器的hosts文件
    # vim /etc/hosts
    192.168.6.117 master
    193.168.6.130 web01
    192.168.6.129 web02
  • 3、安装salt
    # systemctl stop firewalld   
    # setenforce 0                   //关闭防火墙
    # yum install -y epel-release
    # yum install -y salt-master      //管理端安装
    # yum install -y epel-release
    # yum install -y salt-minion      //被管理端安装
  • 4、管理端配置

    # vim /etc/salt/master
    interface: 192.168.6.117    //15行 监听地址改为本地IP
    ............
    auto_accept: True                //215  证书认证
    ............
    file_roots:                          //416行 站点目录开启
     base:
          - /srv/salt
    ............
    pillar_opts: True              //552行  pillar开启
    
    pillar_roots:                     //529行
      base:
         - /srv/pillar
    ............
    nodegroups:                          //710行 组分类
     group1: 'web01.saltstack.com' 
     group2: 'web02.saltstack.com'
    
    # cat /etc/salt/master | grep -v ^$ | grep -v ^#       //查看修改好的配置项

    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务

 

  • 5、创建salt文件根目录以及pillar目录
    # mkdir /srv/salt
    # mkdir /srv/pillar
    # systemctl start salt-master.service    //开启服务
    # netstat -natp | egrep '4505|4506'       //查看4505、4506端口

    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务

 

  • 6、被管理端配置
    # vim /etc/salt/minion
    master: 192.168.6.117     //16行 指定管理端IP
    id: web01      //78行 指定被控的主机名 (另外一台为 web02)
    # systemctl start salt-minion.service  //开启服务
  • 7、在管理端测试 ( '*' 指的是所有主机)
    # salt '*' test.ping     //查看通信状态
    # salt '*' cmd.run 'df -h'   //查看所有被管理端的挂载情况
    # salt 'web01' cmd.run 'df -h'   //查看指定主机的挂载情况
    # salt '*' grains.items   //查看grains值(静态信息)
    # salt '*' pillar.items   //查看pillar值(动态信息)
    # salt-key  //查看已经被接受过的客户端

    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务
     
    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务

 

  • SaltStack 配置安装 Apache
    # vim /srv/salt/top.sls
    base:
    '*':
     - apache
    # vim /srv/salt/apache.sls   //注意apache-service  是自定义的id名
    apache-service:
    pkg.installed:
        - names:
            - httpd
            - httpd-devel
    service.running:
        - name: httpd
        - enable: True
  • 重启服务,并在管理端执行刷新state配置命令
    # systemctl restart salt-master
    # salt '*' state.highstate

    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务
     
    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务

 

  • 在minion服务器上验证 httpd 安装成功,并已开启 httpd 服务
    部署 SaltStack 自动化运维工具,并简易批量安装 httpd 服务

猜你喜欢

转载自blog.51cto.com/13625676/2320156