随笔分类 -  python 运维开发

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 20 下一页
摘要:一、概述 Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过web 阅读全文
posted @ 2020-06-25 17:23 肖祥 阅读(6070) 评论(0) 推荐(1) 编辑
摘要:一、插件安装 插件:Role-based Authorization Strategy 二、全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略会多出一个Role-Based Strategy选项,选择该项并保存 三、管理和分配角色 在系统管理页面进入 Man 阅读全文
posted @ 2020-06-24 16:35 肖祥 阅读(2384) 评论(0) 推荐(0) 编辑
摘要:一、概述 job建立的特别多的时候,我们可能不太容易找到自己的某个job,这时,我们就可以在Jenkins中建立视图。job的视图类似于我们电脑上的文件夹。可以通过一些过滤规则,将已经建好的job过滤到视图中,也可以在视图中直接新建我们的job。下面以过滤job为例讲讲视图如何使用。 二、新建视图 阅读全文
posted @ 2020-06-23 16:13 肖祥 阅读(780) 评论(0) 推荐(0) 编辑
摘要:一、概述 背景 Loki的第一个稳定版本于2019年11月19日发布,是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。 Grafana 对 Loki 的描述如下: Loki: like Prometheus, but for logs. Loki 阅读全文
posted @ 2020-06-22 15:51 肖祥 阅读(15722) 评论(0) 推荐(1) 编辑
摘要:一、概述 Celery是Python开发的分布式任务调度模块,今天抽空看了一下,果然接口简单,开发容易,5分钟就写出了一个异步发送邮件的服务。 Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前,Celery支持的消息服务有RabbitMQ、Redis甚至是数据库,当然Redis应该 阅读全文
posted @ 2020-06-21 19:42 肖祥 阅读(382) 评论(2) 推荐(0) 编辑
摘要:一、概述 LZMA (Lempel-Ziv-Markov chain-Algorithm) 基于著名的LZ77压缩算法改进的压缩/解压工具,特点:高压缩率,高解压速度,低内存消耗,lzma命令行工具使用方式和gzip,bzip2类似,对 已经熟悉gzip,bzip2这类工具的用户来说,上手并不难。对 阅读全文
posted @ 2020-06-20 08:28 肖祥 阅读(1390) 评论(0) 推荐(0) 编辑
摘要:一、概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/13074198.html 已经实现了基于Jenkins+Gitlab+Harbor+Rancher+k8s CI/CD,但是有一个问题,需要jenkins ssh登录到k8s mas 阅读全文
posted @ 2020-06-19 14:46 肖祥 阅读(3640) 评论(9) 推荐(0) 编辑
摘要:一、概述 在工作中我们会有直接想通过http方式运行Jenkins job的需求,这样就不需要每次都进入JENKINS的页面了。 二、安装python-jenkins 基本用法: 三、项目演示 本文采用 Jenkins 2.222.4,ip地址为:10.212.82.86 构建普通job 这里有一个 阅读全文
posted @ 2020-06-18 13:11 肖祥 阅读(4109) 评论(0) 推荐(1) 编辑
摘要:一、概述 Jenkins的Master-Slave分布式架构主要是为了解决Jenkins单点构建任务多、负载较高、性能不足的场景。Master-Slave相当于Server和Agent的概念。 Master提供web接口让用户来管理job和Slave,job可以运行在Master本机或者被分配到Sl 阅读全文
posted @ 2020-06-17 08:31 肖祥 阅读(672) 评论(0) 推荐(1) 编辑
摘要:一、概述 最近上线了一个项目,运行了一个月。想知道mysql库中,哪个表最大,有多少行数据。 由于库里面有上百张表,一个个查看比较费劲。 二、查询表大小 我需要查询的库名为:kite 因此sql语句为: select table_schema as '数据库', table_name as '表名' 阅读全文
posted @ 2020-06-16 10:33 肖祥 阅读(1933) 评论(0) 推荐(0) 编辑
摘要:一、概述 看官网的描述Depends的使用,似乎比较懵懵懂懂的,于是乎还是需要花些时间再次学习一下关于依赖注入。 首先依赖注入它可以是函数也可以是类,如下面的函数形式的依赖注入: 简单的依赖说明 梳理一下接口请求的流程: 1: 上面的commons: dict = Depends(common_pa 阅读全文
posted @ 2020-06-15 16:40 肖祥 阅读(5189) 评论(0) 推荐(0) 编辑
摘要:一、概述 为啥需要跨域处理,通常我们的API一般是给到前端去调用,但是前端可能使用域名和没提供的API域名是不一样,这就引发了浏览器同源策略问题,所以我们需要做跨域请求支持。 FastAPI支持跨域的话,可以通过添加中间的形式,和bottle也有相似之处。不仅如此他还支持仅限于支持哪些域名进行跨域请 阅读全文
posted @ 2020-06-14 16:20 肖祥 阅读(4299) 评论(0) 推荐(0) 编辑
摘要:一、概述 所谓的中间件,其实和我们bottle中的中间件作用是一致。有些方法或操作需要在所有路由之前执行,比如要加一个http访问的拦截器,可以对部分接口API需要授权才能访问的接口进行验证之类的。 FastAPI提供了一个@app.middleware("http")可以做到类似上面的拦截功能。其 阅读全文
posted @ 2020-06-13 14:33 肖祥 阅读(2055) 评论(0) 推荐(0) 编辑
摘要:一、概述 HTTPException异常抛出 再之前Bottle 中其实有一个就是HttpError异常类,在FastAPI也存在这么一个HTTPException。比如: 在上面的代码中,通过判断item_id是不是存在于items来主动的抛出了一个404的错误 访问一个错误的url 我们查看HT 阅读全文
posted @ 2020-06-12 14:23 肖祥 阅读(1706) 评论(0) 推荐(0) 编辑
摘要:一、概述 使用response_model定义 请求一个接口返回来我们客户端可见的东西都是所谓的响应报文,如响应头,响应码,响应内容等。 通常不会那么傻的用户输入什么就返回什么。以下的官网示例纯粹的演示看: json参数 通常再定义我们的API返回响应的时候,一般是返回固定JSON格式的,所以可以直 阅读全文
posted @ 2020-06-11 17:37 肖祥 阅读(1035) 评论(0) 推荐(0) 编辑
摘要:一、概述 一般对于Request Body不会通过get提交,对于get提交的参数一般称为是查询参数。所以,如果是通过POTS,PUT等方式提交的参数信息,我们一般是放到Request Body来提交到我们的后端。 对于如何接收和校验请求体,FastApi提供的形式是使用:from pydantic 阅读全文
posted @ 2020-06-10 17:06 肖祥 阅读(4131) 评论(0) 推荐(0) 编辑
摘要:一、概述 路由方法有 GET, POST, PUT, PATCH, DELETE 和 OPTIONS。 二、路由Route上参数获取和校验 一般我们的路由分会静态和动态,静态路由就是参数是固定写死,也就是访问地址是写死的,而动态地址,就是需要动态的生成,类似简书的博文的地址94710ed35b92就 阅读全文
posted @ 2020-06-09 11:23 肖祥 阅读(3108) 评论(0) 推荐(0) 编辑
摘要:一、简介 FastAPI 是一个高性能 Web 框架,用于构建 API。 主要特性: 快速:非常高的性能,与 NodeJS 和 Go 相当 快速编码:将功能开发速度提高约 200% 至 300% 更少的错误:减少约 40% 的人为错误 直观:强大的编辑器支持,自动补全无处不在,调试时间更少 简易:旨 阅读全文
posted @ 2020-06-08 10:38 肖祥 阅读(2256) 评论(0) 推荐(0) 编辑
摘要:一、概述 本实验基于CentOS7.6 操作系统,总共5台设备,两台做后端web服务器,两台做lvs和keepalived,一台做客户机,实验以LVS(DR)+Keepalived和LVS(NAT)+Keepalived两种模式来做双机热备份,实验环境拓扑如下图所示: 从架构可以看出来,从用户的角度 阅读全文
posted @ 2020-06-07 09:34 肖祥 阅读(1140) 评论(0) 推荐(1) 编辑
摘要:一、概述 讲正文开始前先回顾一下以往传统的代码部署方式。 通常运维人员在接到代码(新项目)上线的任务前都要做大量的准备工作,包括:物理主机、虚拟机、代码运行环境、数据库安装配置、各种帐号创建,、运行后期的系统监控、应用的日志收集,性能优化等一系列的工作。 想一想这个流程不是很复杂但是很繁琐,效率低下 阅读全文
posted @ 2020-06-06 17:22 肖祥 阅读(8053) 评论(0) 推荐(2) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 20 下一页