接上篇内容


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)

2.同步模块

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


server5的缓存已经有了my_disk

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


3.使用disk模块查询server5

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



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

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


Saltstack (modules、返回值cache、syndic、salt-ssh、API)


外部缓存


Saltstack (modules、返回值cache、syndic、salt-ssh、API)


1.安装mysql-python模块


Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

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


Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

添加数据库配置

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


远程登陆master server1的数据库

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


数据已经保存

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



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

主缓存

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


3.修改server1上的master设置

设置为主缓存

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


4.采集数据

采集server5的所有项目

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

登陆数据库数据已经生成

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



四.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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


在server1上安装salt-syndic

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


2.配置server4上的master文件

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

开启base目录

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

开启pillar目录

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


3.设置server1上的syndic master

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


5.测试配置成功

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



五.salt ssh远程连接

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


1.安装salt-ssh

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


3.编辑roster文件

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


4.测试salt ssh成功

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



六.salt api 安装

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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

2.生成生成自签名证书

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


生成自签名证书

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


3.配置salt-api   ,配置eauth

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

    

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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


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


Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


5.启动服务

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



6.测试使用api

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

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

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


远程执行命令

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



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

列出key值

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


远程server5安装httpd

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)


远程server5安装nginx

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)

Saltstack (modules、返回值cache、syndic、salt-ssh、API)



      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1974211,如需转载请自行联系原作者








相关文章: