基本环境

角色              系统        主机名     IP

Master/Minion      Centos 7      Master     192.168.1.107

Minion          Centos 7      Minion  192.168.1.128

以下操作在所有节点执行

修改主机名(以Master为例)

[root@localhost ~]# vim /etc/hostname

Master

关闭防火墙

[root@Master ~]# systemctl    stop   firewalld.service 
[root@Master ~]# systemctl  disable  firewalld.service

关闭selinux

[root@Master ~]# vim  /etc/sysconfig/selinux

修改

SELINUX=disabled

配置解析

[root@Master ~]# vim /etc/hosts

添加

Master  192.168.1.107

Minion  192.168.1.128

安装源

[root@Master ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@Master ~]# rpm -ivh epel-release-latest-7.noarch.rpm


 在Master端安装包

[root@Master ~]# yum -y install salt-master salt-minion

启动程序并设置为开机自启动

[root@Master ~]# systemctl  start salt-master
[root@Master ~]# systemctl  start salt-minion
[root@Master ~]# systemctl  enable  salt-master
[root@Master ~]# systemctl  enable  salt-minion

修改配置文件(将客户端指向Master)

[root@Master ~]# vim  /etc/salt/minion

修改(第16行)

master: 192.168.1.107

重启minion服务

[root@Master ~]# systemctl   restart  salt-minion


 

Minion端安装包

[root@Minion ~]# yum -y install salt-minion

启动程序并设置为开机自启动

[root@Minion ~]# systemctl  start salt-minion
[root@Minion ~]# systemctl  enable salt-minion

修改配置文件(将客户端指向Master)

[root@Minion ~]# vim /etc/salt/minion

修改(第16行)

master: 192.168.1.107

重启minion服务

[root@Minion ~]# systemctl restart salt-minion


 客户端连接服务端

首先Minion会发送一个请求(key)到服务端,服务端需要同意Minion才可以控制

Master端同意Minion端请求

同意所有

[root@Master ~]# salt-key -A

The following keys are going to be accepted:

Unaccepted Keys:

Master

Minion

Proceed? [n/Y] y

Key for minion Master accepted.

Key for minion Minion accepted.

查看当前的key

[root@Master ~]# salt-key

Accepted Keys:

Master

Minion

Denied Keys:

Unaccepted Keys:

Rejected Keys:

相关命令

支持通配符  salt-key -a linux*

删除所有salt-key -D

通配符删除单个  salt-key -d

功能

远程功能

[root@Master ~]# salt '*' test.ping

Master:

    True

Minion:

True

详解: salt语法,test是模块,ping是模块的方法

[root@Master ~]# salt '*'  cmd.run 'uptime'

Master:

     15:54:33 up  1:26,  3 users,  load average: 0.00, 0.14, 0.24

Minion:

     15:54:33 up  1:26,  3 users,  load average: 0.08, 0.03, 0.06

详解:run模块万能模块,执行所有命令可以

Hppd配置管理

创建salt配置文件存放文路径

[root@Master ~]# mkdir -p /srv/salt

修改master主配置文件(设置salt配置文件存放)

[root@Master ~]# vim /etc/salt/master

(去注释#,注意格式)

file_roots:

  base:

    - /srv/salt/

重启master服务

[root@Master ~]# systemctl   restart  salt-master

编辑apache.sls文件

[root@Master ~]# cd /srv/salt/
[root@Master salt]# vim apache.sls

apache-install:

  pkg.installed:

    - names:

      - httpd

      - httpd-devel

 

apache-server:

  service.running:

    - name: httpd

    - enable: Ture

- reload: Ture

注意:千万要注意格式尤其空格!!!

执行

[root@Master salt]# salt '*' state.sls apache

设置高级状态(可以指定哪个主机执行哪个状态)

[root@Master salt]# vim top.sls

base:

  '*':

- apache

执行高级状态

[root@Master salt]# salt '*' state.highstate