Fork me on GitHub

06 2021 档案

摘要:一、nfs网络存储 kubenetes集群中如果某个节点宕掉了,那么Pod就会漂移到其它节点,此时Pod是一个全新的状态,为了Pod可以使用之前的数据,那么需要将数据进行持久化,以便新的Pod可以继续使用。 1、安装nfs服务器 参考NFS网络文件共享服务 文章,有NFS服务的详细安装与使用,进行n 阅读全文
posted @ 2021-06-29 20:51 iveBoy 阅读(236) 评论(0) 推荐(0) 编辑
摘要:一、环境准备 在进行keepalived与haproxy部署之前,需要先进行环境方面的准备: 节点名称 ip master1 192.168.35.12 master2 192.168.35.13 node1 192.168.35.14 VIP 192.168.35.15 环境配置: #1、 关闭防 阅读全文
posted @ 2021-06-29 20:50 iveBoy 阅读(246) 评论(0) 推荐(0) 编辑
摘要:一、高可用架构 在之前使用kubernetes的集群中使用的master节点是一个,这样如果一个master节点宕掉那么整个集群就会出现问题,那么为了实现高可用就需要进行多master节点的部署,同时也需要进行多master节点的负载均衡。那么为了实现以上的功能需要使用: keepalived 监控 阅读全文
posted @ 2021-06-29 20:49 iveBoy 阅读(247) 评论(0) 推荐(0) 编辑
摘要:一、配置Chart 之前的Chart是通过从设置的仓库中拉取,那么如何自定义Chart呢? 1、创建Chart [root@k8smaster ~]# helm create mychart Creating mychart [root@k8smaster ~]# ll mychart/ 总用量 8 阅读全文
posted @ 2021-06-27 22:24 iveBoy 阅读(557) 评论(0) 推荐(0) 编辑
摘要:一、什么是Helm (一)引入 一般部署单一的应用,比如nginx,是通过编写yaml文件然后进行deployment、Service、Ingress这样的过程,但是假如现在需要部署几十个单体应用,这样的部署方式太过于繁琐,那么Helm就可以解决这样的问题,在Helm的官网上是这样介绍它的: The 阅读全文
posted @ 2021-06-27 22:23 iveBoy 阅读(1096) 评论(0) 推荐(0) 编辑
摘要:一、什么是Ingress 1、引入 在前面使用Service中的NodePort将服务端口号暴漏以供外部访问,这样显然会存在一些弊端: 通过ip+端口的方式对外提供服务 每个节点上都会其端口,访问时通过ip+端口进行访问 每个端口对应一个应用服务 但是在实际中是通过域名来访问应用的,根据域名跳转到不 阅读全文
posted @ 2021-06-27 22:17 iveBoy 阅读(3350) 评论(0) 推荐(0) 编辑
摘要:一、简介 从ConfigMap名称也能知晓它是和配置相关的功能,ConfigMap 是一个 API 对象, 给我们提供了向容器中注入配置信息的机制,可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制大对象。它是存储不加密的数据到etcd,然后也是和Secret相同,可以常使用下面两 阅读全文
posted @ 2021-06-23 22:22 iveBoy 阅读(287) 评论(0) 推荐(0) 编辑
摘要:一、简介 Secret对象类型用来保存敏感信息,解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod中。Secret 可以以两种方式来进行使用: 数据卷(Volume) 环境变量 敏感信息以base64编码格式存储,之后Pod会自动读取明文。 二、Secret 阅读全文
posted @ 2021-06-23 21:31 iveBoy 阅读(158) 评论(0) 推荐(0) 编辑
摘要:一、什么是Service 通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地 址,并且将请求负载分发到后端的各个容器应用上。所以service的存在基于: 服务发现 负载均衡 1、服务发现 Pod因为Node节点的宕机会导致其重新调度,这样Pod就没有固定的ip,那么之前 阅读全文
posted @ 2021-06-20 21:51 iveBoy 阅读(643) 评论(0) 推荐(0) 编辑
摘要:一、简介 控制器(Controller)是集群上管理和运行容器的对象。Pod就是通过Controller实现应用的运维,如伸缩、滚动升级等,其中Pod与Controller之间通过标签(Label)以及标签选择器(Selector)建立关联。 控制器(Controller)对象有不同的类型,比较常用 阅读全文
posted @ 2021-06-19 11:33 iveBoy 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:一、Pod创建流程 上述过程分为在master节点和node节点上: master节点 create pod-->API Server-->Etcd,客户请求创建Pod,API Server进行创建,并且将创建的Pod信息写入到etcd中。 Scheduler-->API Server-->Etcd 阅读全文
posted @ 2021-06-18 18:12 iveBoy 阅读(324) 评论(0) 推荐(0) 编辑
摘要:一、基本概念 总的来说Pod包括以下几个方面: 最小的部署单元 一个Pod中可以包含一个或者多个容器 一个Pod中的容器共享网络命令空间 Pod是短暂的 在k8s集群中最小的管理和部署单元是Pod而非容器,这是为什么呢? 使用docker创建容器,一个容器起一个进程并且在一个容器中运行着一个应用程序 阅读全文
posted @ 2021-06-18 18:10 iveBoy 阅读(387) 评论(0) 推荐(0) 编辑
摘要:一、简介 FastAPI中你可以使用任何关系型数据库,可以通过SQLAlchemy将其轻松的适应于任何的数据库,比如: PostgreSQL MySQL SQLite Oracle Microsoft SQL Server ... SQLAlchemy是一个ORM(object-relational 阅读全文
posted @ 2021-06-13 17:18 iveBoy 阅读(10909) 评论(0) 推荐(0) 编辑
摘要:一、默认响应状态码 响应状态码用于服务器返回给客户端响应的状态,常用的有: 200及以上 成功的响应 300及以上 重定向 400及以上 客户端错误 500及以上 服务端错误 FastAPI的路径操作中可以使用status_code参数来声明HTTP状态码。FastAPI中可以通过状态码数字、状态码 阅读全文
posted @ 2021-06-13 17:17 iveBoy 阅读(907) 评论(0) 推荐(0) 编辑
摘要:最近根据官方文档学习了FastAPI框架,自己做一些学习笔记。 文档: https://fastapi.tiangolo.com源码: https://github.com/tiangolo/fastapi 基础用户指南: 前言 FastAPI简介 FastAPI请求系列 FastAPI请求系列(一 阅读全文
posted @ 2021-06-13 17:12 iveBoy 阅读(554) 评论(0) 推荐(0) 编辑
摘要:一、目录结构分析 FastAPI提供了一个类似Flask的Blueprints功能的工具,它可以在保持灵活性的同时构建应用程序。比如: . ├── app # 「app」是一个 Python 包 │ ├── __init__.py # 这个文件使「app」成为一个 Python 包 │ ├── ma 阅读全文
posted @ 2021-06-11 19:26 iveBoy 阅读(1402) 评论(0) 推荐(0) 编辑
摘要:一、后台任务使用 你可以定义后台任务在后台响应之后继续运行,这对于在请求之后去做一些操作时有用的,但是客户端不会真正的等待响应中操作的完成。这包括,例如: 执行操作后发送电子邮件通知 处理数据,比如,后台接收一个文件需要处理,但是可以先给客户端返回响应,然后后台接着处理 1、使用后台任务 首先,导入 阅读全文
posted @ 2021-06-11 19:25 iveBoy 阅读(6907) 评论(0) 推荐(0) 编辑
摘要:一、准备 1、python-jose JavaScript对象签名和加密(JOSE)技术。 JSON Web Signatures(JWS) JSON Web Encryption(JWK) JSON Web Key(JWK) JSON Web Algorithms(JWA) 使用各种算法对内容进行 阅读全文
posted @ 2021-06-10 22:31 iveBoy 阅读(931) 评论(0) 推荐(0) 编辑
摘要:一、获取username和password 后台获取前台提交的username和password,可以使用FastAPI的安全实用性工具获取username和password。 OAuth2规定客户端必需将username和password字段作为表单数据发送(不可使用JSON)。而且规范了字段必须 阅读全文
posted @ 2021-06-10 22:30 iveBoy 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:一、介绍 OAuth2 .0模式有四种分别是: 授权码授权模式(Authorization Code Grant) 隐式授权模式(Implicit Grant) 密码授权模式(Resource Owner Password Credential Grant) 客户端凭证授权模式(Client Cre 阅读全文
posted @ 2021-06-09 23:28 iveBoy 阅读(1450) 评论(0) 推荐(0) 编辑
摘要:一、yield在依赖项中的使用 FastAPI支持依赖项在完成请求后做一些额外的工作。为了做到这些使用yield而不是用return,并且写一些额外的步骤。 使用yield功能需要使用python3.7或者之上的版本支持,如果在python3.6需要安装以下的工具: pip install asyn 阅读全文
posted @ 2021-06-09 19:46 iveBoy 阅读(624) 评论(0) 推荐(0) 编辑
摘要:对于某些应用你可能想在全局应用基础上添加依赖项。这与在路径操作装饰器添加依赖项类似,你可以把它们添加到整个FastAPI应用上。 这样,这些依赖项将会应用到所有的路径操作上。 from typing import Optional from fastapi import FastAPI, Depen 阅读全文
posted @ 2021-06-08 22:06 iveBoy 阅读(415) 评论(0) 推荐(0) 编辑
摘要:一、路径操作装饰器中添加依赖项 在某些场景中你可能不需要在路径操作函数中去接收依赖项的返回值,或者这个依赖项根本没有返回值。但是你仍然需要去执行这些依赖项。 对于这些场景,不要通过在路径操作函数中去声明Depends参数,你可以在路径操作装饰器中去添加一个dependencies的列表。 比如: f 阅读全文
posted @ 2021-06-08 20:41 iveBoy 阅读(220) 评论(0) 推荐(0) 编辑
摘要:一、类依赖项 在之前的依赖注入中使用的依赖项都是函数,是不是就意味着依赖项必需是函数呢?当然不是,决定是否可以当作依赖项的关键因素就是是否是"可调用"。 如果一个对象是“可调用”的,那么它就可以作为依赖项。所以显然函数和类都是可被调用的,那么类如何作为依赖项。 from typing import 阅读全文
posted @ 2021-06-08 18:15 iveBoy 阅读(193) 评论(0) 推荐(0) 编辑
摘要:一、子依赖 在依赖注入系统中可以构建任意深度的依赖关系,FastAPI会负责进行解析。而一个依赖项依赖于另一个依赖项,那么另一个依赖项就被称为子依赖。比如: from typing import Optional from fastapi import Cookie, Depends, FastAP 阅读全文
posted @ 2021-06-08 18:14 iveBoy 阅读(142) 评论(0) 推荐(0) 编辑
摘要:一、什么是中间件 (一)概念 中间件是一个函数,它在它在每个请求被特定的路径操作处理前,以及每个响应返回之前工作,所以: Request Middleware接收你应用程序的每一个请求 然后它可以对这个请求做一些操作,完成一些功能 处理完成后,Request Middleware将请求转发给Appl 阅读全文
posted @ 2021-06-07 22:41 iveBoy 阅读(1594) 评论(0) 推荐(0) 编辑
摘要:一、简介 FastAPI有一个非常强大但是直观的依赖注入系统,它被设计成简单易用,开发人员使用它可以很简单的与FastAPI中的其它部分集成。 “依赖注入”意味着在程序中,对于你的代码有一种方式去声明它运行时需要的东西。这个东西就被称为“依赖项”。然后FastAPI将会按照你声明提供的依赖项去做任何 阅读全文
posted @ 2021-06-07 22:40 iveBoy 阅读(386) 评论(0) 推荐(0) 编辑
摘要:一、概述 在路径操作配置中显然都是针对API的配置,比如API分类的tags参数等,那么针对FastAPI的应用的配置是如何的呢?常用的包含: title & description & version docs_url ... 当然还有很多参数,具体查看源码: class FastAPI(Star 阅读全文
posted @ 2021-06-06 21:28 iveBoy 阅读(1590) 评论(0) 推荐(0) 编辑
摘要:一、概述 通过一些参数去通过路径操作装饰器去配置它,在响应模型中的响应状态码就是属于路径操作配置,它包括: status_code tags summary & description response_description deprecated 上述中都是路径配置的一些参数,下面详细说明。 二、 阅读全文
posted @ 2021-06-06 18:00 iveBoy 阅读(1039) 评论(0) 推荐(0) 编辑
摘要:一、使用方式 如果使用前后台不分离的开发方式,那么模板文件中使用的静态文件,比如css/js等文件的目录需要在后台进行配置,以便模板渲染是能正确读到这些静态文件。 1、安装依赖 通过StaticFiles,使用一个目录自动为静态文件服务。需要先安装aiofiles,可以通过: pip install 阅读全文
posted @ 2021-06-06 15:09 iveBoy 阅读(5857) 评论(0) 推荐(0) 编辑
摘要:一、基础 响应模型与请求体模型类似,请求体就是通过Pydantic创建请求体模型,可用于对请求内容进行校验,响应模型就是对响应体进行校验。可以在任意的路径操作中使用response_model参数来声明响应的模型: 1、基本模型 from typing import Optional from fa 阅读全文
posted @ 2021-06-05 23:02 iveBoy 阅读(1227) 评论(0) 推荐(0) 编辑
摘要:一、Cookie Cookie的定义与声明与Query和Path类似: from typing import Optional from fastapi import Cookie, FastAPI app = FastAPI() @app.get("/items/") async def read 阅读全文
posted @ 2021-06-04 22:54 iveBoy 阅读(968) 评论(0) 推荐(1) 编辑
摘要:一、请求体和字段 1、基础用法 请求体的数据校验是使用Pydantic来进行声明,然后校验的。 from typing import Optional from fastapi import FastAPI from pydantic import BaseModel class Item(Base 阅读全文
posted @ 2021-06-04 14:56 iveBoy 阅读(1086) 评论(0) 推荐(0) 编辑
摘要:一、基本使用 查询参数是什么呢?一般前台发送的请求可能是这样的 http://127.0.0.1:8000/items/?skip=0&limit=10 那么"?"之后的就是查询参数每个查询参数直接通过“&”进行连接。查询参数: skip:值为0 limit:值为10 那么在FastAPI的后台就需 阅读全文
posted @ 2021-06-02 21:12 iveBoy 阅读(829) 评论(0) 推荐(0) 编辑
摘要:一、基本使用 1、基本路径参数 如下: from fastapi import FastAPI app = FastAPI() @app.get("/item/{item_id}") async def read_item(item_id: int): return {"item_id": item 阅读全文
posted @ 2021-06-02 19:39 iveBoy 阅读(668) 评论(0) 推荐(0) 编辑
摘要:一、FastAPI的特点 基于Python3.6+版本的、用于构建API现代的、高性能的web框架,其有以下特点: 性能优越 开发效率高 减少约40%的人为bug 易学易用 精简编码、代码重复率低 API开发标准化、自带API交互文档,便于交付 FastAPI是建立在Pydantic和Starlet 阅读全文
posted @ 2021-06-02 19:38 iveBoy 阅读(2458) 评论(0) 推荐(0) 编辑

TOP
点击右上角即可分享
微信分享提示