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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

接上篇内容


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模块


4c65cf3328d99320417d7932f8bd21f8.png

2.同步模块

c79c426feb7b4293a58a7caf20d73873.png


server5的缓存已经有了my_disk

bad45d53524c92b0f53ee4bf2459e951.png


3.使用disk模块查询server5

487fe5e92a35d3dc476bbe8c6834bbb3.png



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

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


2c7a35c1dd2de6ae43b019234a5ced7c.png


外部缓存


e560efce32f4d35e4d776dc5d07a961c.png


1.安装mysql-python模块


9329e68337e04feb07634fdff63f54ca.png


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

821d74914eb6a6979a5e4fc5e0b50ba5.png

bdceeffab185d98ed3246a666df1b909.png


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

724320d882a32275463d277e7d6800b7.png

3f05e718dbcb0cabd1e5556b5246f585.png

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


1be41db23918ca502d194558fef9b6ea.png

a7987cf37c07c8dbf33a639e8bb89ba2.png

6a6f8347149fc0e62b52ad8bd9ca0786.png


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

987634824008a2ccf0b5719f276967f7.png

86f35d4acd1f4ce3b1f2fb90e67cad11.png


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

f7f78474626b17688039841eefe1d366.png

29d1e1b49f62b0416c617ff600a98511.png


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

添加数据库配置

76d7a628ccbd765798ef934bfb7ef846.png


8384a11e420cd885011318a37751a549.png


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

3597ffd24c08431687d02d1bf3caaa4b.png


远程登陆master server1的数据库

facfb96244f10c3188cdbc2a24c324e3.png

235a0acba8e64a5fbb80a3560bb24972.png


数据已经保存

e12f07151d35184b07b2bc5d05b163a7.png



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

主缓存

36f3da7328b88e9569be37c41e5dde0c.png



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

7f779ff886dad4edea8cfd2b4b878560.png


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

38344805b09293b060f756e75f174938.png

5cf3000e0247ab6945352400fe219eb2.png


3.修改server1上的master设置

设置为主缓存

20a7d96684b407937c4e95cf9aac583e.png

70c4ff49d882e2f4dce24493b4b8ec08.png


4.采集数据

采集server5的所有项目

1c950aca9302e64fa86703306bed660d.png

登陆数据库数据已经生成

6140d52639e3eff360ae9803ed973dbb.png

63650cd37e978c01650d39d09a492711.png



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

f9ea0134dad4ae2c2e4ba8f103bb9492.png


在server1上安装salt-syndic

8d49c9a8a92df7f41e252b1f430ed85b.png

1f4a6ffd528c521ce19dd92f41d55910.png


2.配置server4上的master文件

8688be81c1231ef43315b1e62d715eae.png

开启base目录

87b658b252489cdea57ce2e2d79b7021.png

开启pillar目录

d121c853b138422ec2c23633a55e2653.png

0c6764ae7f086aee2190f87c6557083e.png


3.设置server1上的syndic master

1c9a62c071fec4f23ba8e7190ab1c09a.png

bc7b6a4d953a3e2cbead52f2d3e4a4f7.png


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

5e1b7099128885eb31cfc2fb7974d801.png


5.测试配置成功

f212620fa1cb92b624b2afa672fc6103.png



五.salt ssh远程连接

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


1.安装salt-ssh

6e57e15bd4447f92e9bd068e11ce9e79.png


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

3894e71ba73fd66313dd8d413895e748.png

0b2fd90636894ebe62b19dcc9b2ed76c.png


3.编辑roster文件

3c8970f73d93310fcf530793959a2a19.png

aa67bda8aecafe5c5af4daec9bdf11c1.png


4.测试salt ssh成功

97c96c77e149cdc6739476dc11239fd7.png



六.salt api 安装

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

3c8a3d9442a980747cd50333116166a5.png

069d4c164b5060807eda575bb73a502b.png

2.生成生成自签名证书

1400d1d58de5003e9100c95b17d52f1f.png


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

17acb2bc9187cc938f5259a25ad34ca7.png


生成自签名证书

4f1640173aeb5d659f38c8d5edb44b09.png


3.配置salt-api   ,配置eauth

d9adcee3ed55a6897144a880254cdedb.png

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

aeee46bb79dac447d38ad961d3acde86.png

    

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

33a9e055b1692106f9d85715aa6f413f.png


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


2d13e7c0ce071e02b9cac4701f29511f.png

b311736ea9699adeab147e22f11b3c17.png


5.启动服务

2539265fccc867f4156c317257476359.png



6.测试使用api

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

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

f820b07e19345b6f4d21aa2d856359af.png


远程执行命令

37f0ec79eb218cf6a9a5976cb2aa0e7e.png

ebb5c65ba77f8ea50b50d297c3168c3d.png



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

列出key值

9780faa73f20e62aee59785523645dc2.png

618f4a729d90bb1aae4002eb9e946f2b.png


远程server5安装httpd

9beb938d3142299f172ce93110351ce0.png

43c7b623b950c753535f48c7c7dcb92c.png


远程server5安装nginx

0d62552069937eff8f3a59ff084cb81f.png

d1cfbc05937048c9748a18bdb25cae07.png

a7afb85a63d7e2d62e6cc389be8480ec.png



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








相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
XML JSON API
淘宝/天猫获得淘宝商品详情 API 返回值说明
API(Application Programming Interface),即应用程序编程接口,是一组用于构建软件应用程序的协议、例程和工具。它定义了不同软件组件之间如何进行交互,就像是软件世界中的 “语言翻译官” 或者 “沟通桥梁”。 简单来说,当你使用一个软件应用(比如手机上的天气应用)去获取天气数据时,这个应用就是通过 API 接口向提供天气数据的服务器发送请求,服务器收到请求后,通过 API 接口返回天气数据给应用,然后应用才能把天气信息展示给你。
29 2
|
7月前
|
API 开发者
如何获取淘宝/天猫购物车的商品列表 API 返回值说明
淘宝/天猫的购物车API返回值会包含当前用户购物车中的商品列表及相关信息。以下是API返回值可能包含的主要字段和信息的详细说明:
|
7月前
|
JSON API 数据格式
如何获取京东店铺的所有商品 API 返回值说明
京东的API返回值可能因不同的API调用和版本而有所差异。一般来说,当你调用一个API来获取店铺的所有商品时,返回的JSON或其他格式的数据可能包含以下信息:
|
7月前
|
API
如何获取拼多多搜索词推荐 API 返回值说明
拼多多(Pinduoduo)是一个中国电商平台,它提供的API接口返回值会因API的具体功能、版本和请求类型而异。如果你指的是拼多多提供的搜索词推荐API的返回值,通常这个API会返回与搜索词相关的商品、店铺或活动信息。
|
7月前
|
API 开发者
怎样获取淘宝/天猫商品销量详情 API 返回值说明
淘宝和天猫提供了API接口供开发者获取商品的销量详情。具体的返回值会根据API的版本和调用方式有所不同。以下是一个简化的示例,展示了可能返回的一些字段,以及它们通常代表的含义:
|
7月前
|
XML JSON API
怎样获取抖音店铺的所有商品 API 返回值说明
1688` 是阿里巴巴旗下的一个 B2B(Business-to-Business)电商平台,专注于为企业提供批发和采购服务。`1688` 商品详情 API 是指从阿里巴巴中国站获取商品详细信息的接口。这个 API 通常需要开发者在阿里巴巴开放平台上注册并获取相应的 API 密钥(AppKey 和 AppSecret)才能使用。
|
4天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
25天前
|
JSON API 开发者
淘系买家秀API接口系列,示例代码返回值说明
淘宝买家秀API接口是阿里巴巴旗下的淘宝平台提供的一种接口服务,允许淘宝商家或开发者通过编程方式获取并展示淘宝商品的买家秀信息,包括买家上传的图片、视频、评论等内容。以下是对淘宝买家秀API接口的详细介绍:
|
4月前
|
前端开发 JavaScript API
Vue 3 新特性:在 Composition API 中使用 CSS Modules
Vue 3 新特性:在 Composition API 中使用 CSS Modules
|
7月前
|
XML 测试技术 API
如何获得阿里巴巴中国站上传图片到1688 API 返回值说明
请注意,阿里巴巴开放平台的API和文档可能会随着时间和版本更新而发生变化,因此建议定期查看官方文档以获取最新的信息。此外,由于涉及到具体的业务逻辑和数据交互,实际操作时可能需要根据具体情况进行调试和适应。