手记

部署SaltStack及批量安装httpd服务


SaltStack简介

Salt是一个基础平台管理工具。SaltStack 采用 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.saltstack.com    192.168.200.128

minion  web01.saltstack.com 192.168.200.129

minion  web02.saltstack.com 192.168.200.130

操作步骤

SaltStack安装

1:修改主机名

# vim /etc/hostname

三台主机分别为:

master.saltstack.com    //(管理)

web01.saltstack.com     //(被管理)

web02.saltstack.com     //(被管理)

# init 6  //重启系统 让主机名生效

2:修改三台hosts文件

# vim /etc/hosts

192.168.200.128 master.saltstack.com

192.168.200.129 web01.saltstack.com

192.168.200.130 web02.saltstack.com

3:安装

# 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.200.128    //15行 监听地址改为本地IP

............

auto_accept: True                //215  证书认证

............

file_roots:                          //416行 站点目录开启

    base:

         - /srv/salt

............

nodegroups:                          //710行 组分类

    group1: 'web01.saltstack.com' 

    group2: 'web02.saltstack.com'

............

pillar_opts: True              //552行  pillar开启

pillar_roots:                     //529行

     base:

        - /srv/pillar

# 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.200.128     //16行 指定管理端IP

id: web01.saltstack.com      //78行 指定被控的主机名 (另外一台为 web02.saltstack.com)

# systemctl start salt-minion.service  //开启服务

7:在管理端测试 。 '*' 指的是所有主机

# salt '*' test.ping     //查看通信状态

# salt '*' cmd.run 'df -h'   //查看所有被管理端的挂载情况

# salt 'web01.saltstack.com' cmd.run 'df -h'   //查看指定主机的挂载情况

# salt '*' grains.items   //查看grains值

# salt '*' pillar.items   //查看pillar(动态信息)

# salt-key  //查看已经被接受过的客户端

部署SaltStack及批量安装httpd服务部署SaltStack及批量安装httpd服务

Saltstack配置管理安装Apache

注意:'*'  表示所有客户端执行apache模块

# vim /srv/salt/top.sls

base:

 '*':

     - apache

部署SaltStack及批量安装httpd服务

# vim /srv/salt/apache.sls   //注意apache-service  是自定义的id名

apache-service:

    pkg.installed:

        - names:

            - httpd

            - httpd-devel

    service.running:

        - name: httpd

        - enable: True

部署SaltStack及批量安装httpd服务

重启服务

# systemctl restart salt-master 

在管理端执行刷新state配置命令

# salt '*' state.highstate

部署SaltStack及批量安装httpd服务部署SaltStack及批量安装httpd服务

去minion验证下httpd安装成功

部署SaltStack及批量安装httpd服务部署SaltStack及批量安装httpd服务

©著作权归作者所有:来自51CTO博客作者若此生无缘的原创作品,谢绝转载,否则将追究法律责任

好知识,才能预见未来


0人推荐
随时随地看视频
慕课网APP