接上篇内容


redhat6.5

server1 172.25.29.1 salt-master  

server2 172.25.29.2 salt-minion 

server3 172.25.29.3 salt-minion 

server4 172.25.29.4 salt-master  syndic

server5 172.25.29.5 salt-minion 


一.Salt modules

1.创建_modules,my_disk.py模块


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第1张图片

2.同步模块

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第2张图片


server5的缓存已经有了my_disk

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第3张图片


3.使用disk模块查询server5

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第4张图片



二.salt采集数据的返回值保存到数据库里

采集数据的返回值事件在jobs下面,以文件显示


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第5张图片


外部缓存


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第6张图片


1.安装mysql-python模块


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第7张图片


在minion server5上远程安装mysql-python模块

821d74914eb6a6979a5e4fc5e0b50ba5.png

bdceeffab185d98ed3246a666df1b909.png


2.在master server1上安装mysql-server,初始化设置密码

724320d882a32275463d277e7d6800b7.png

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第8张图片

3.创建salt数据,并导入mysql


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第9张图片

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第10张图片


导入出现的错误需要注释数据内容

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第11张图片

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第12张图片


4.在server5上安装mysql,创建salt用户

f7f78474626b17688039841eefe1d366.png

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第13张图片


5.修改配置/etc/salt/master文件,数据库地址为master server1

添加数据库配置

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第14张图片


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第15张图片


6.测试采集的数据是否保存到master的数据库上

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第16张图片


远程登陆master server1的数据库

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第17张图片

235a0acba8e64a5fbb80a3560bb24972.png


数据已经保存

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第18张图片



三.salt采集数据的返回值保存到数据库里

主缓存

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第19张图片



1.在sevrer1上安装mysql-python模块

7f779ff886dad4edea8cfd2b4b878560.png


2.注释之间server5上配置的外部缓存mysql设置,以免影响主缓存设置

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第20张图片

5cf3000e0247ab6945352400fe219eb2.png


3.修改server1上的master设置

设置为主缓存

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第21张图片

70c4ff49d882e2f4dce24493b4b8ec08.png


4.采集数据

采集server5的所有项目

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第22张图片

登陆数据库数据已经生成

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第23张图片

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第24张图片



四.salt syndic

salt的基本设置是一个salt master指挥一组salt minion。syndic允许建立salt命令拓扑结构,它运行在一个master上,并且连接到另一个master。syndic所连接的master可以控制syndic和syndic下的minions

注意事项:各个 syndic 必须提供自己的file_roots目录,文件不会在 master-master 之间自动分发

                syndic下边的minion执行的命令会执行syndic top里边的命令。

                Syndic 必须运行在master上,并且连接到另一个master(比他更高级)


1.salt syndic配置

需要将server4变为master


在server1上安装salt-syndic


2.配置server4上的master文件

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第25张图片

开启base目录

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第26张图片

开启pillar目录

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第27张图片

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第28张图片


3.设置server1上的syndic master

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第29张图片

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第30张图片


4.在server4上添加server1的salt-key

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第31张图片


5.测试配置成功



五.salt ssh远程连接

      salt需要安装和启动minion,这样master才能控制minion。 对于远程执行命令,最常见的方法是用ssh,因为直接启动远程的sshd服务即可。salt ssh可以集成两者的优点,同时免安装minion又同时可以使用saltstack的功能特点。


1.安装salt-ssh

6e57e15bd4447f92e9bd068e11ce9e79.png


2.将原先的其他服务关闭


3.编辑roster文件

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第32张图片


4.测试salt ssh成功

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第33张图片



六.salt api 安装

1.安装python-cherrypy模块和salt-api

3c8a3d9442a980747cd50333116166a5.png

069d4c164b5060807eda575bb73a502b.png

2.生成生成自签名证书


报错,需要用openssl生成rsa私钥文件

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第34张图片


生成自签名证书

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第35张图片


3.配置salt-api   ,配置eauth

d9adcee3ed55a6897144a880254cdedb.png

vim    /etc/salt/master.d/api.conf

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第36张图片

   

vim    /etc/salt/master.d/eauth.conf

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第37张图片


4.创建saltapi用户,设置密码


Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第38张图片

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第39张图片


5.启动服务

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第40张图片



6.测试使用api

测试工具为操作系统自带的      curl

获取 token 后边的串为认证成功后获取的token串,之后可以不用再次输入密码,直接使用本Token即可

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第41张图片


远程执行命令

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第42张图片



7.利用网上的写好的py脚本测试api,需要自己写界面

列出key值

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第43张图片


远程server5安装httpd


远程server5安装nginx

Saltstack (modules、返回值cache、syndic、salt-ssh、API)_第44张图片

d1cfbc05937048c9748a18bdb25cae07.png

a7afb85a63d7e2d62e6cc389be8480ec.png