Serverless 1

一、云原生应用

云原生应用覆盖到: 大数据,人工智能,边缘计算,区块链等
服务代理:envoy
API 网关:APISIX
服务网格:Istio
服务发现:CoreDNS
消息和流式处理:kafka
Serverless: Knative
CI/CD: GitLab Jenkins
自动化配置:Ansible
数据库: MariaDB
应用定义和镜像制作:Helm
密钥管理:spiffe

云原生监测分析

Prometheus, EFK,
全链路跟踪(服务和服务之间是如何调度的):Skywalking

云原生安全技术

clair 可以做镜像扫描
在这里插入图片描述

二、痛点

主要是开发者的耦合痛点,他们不能关注开发本身,需要学习一些其他技能
serverless就是为了完全解耦,为了开发人员
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解决痛点的方式— Serverless

三、为什么要引入Serverless

在这里插入图片描述
在这里插入图片描述
物理机(担心资源浪费)产生了虚拟机,还是担心资源浪费,有了容器,
即使没有用到,也占用着资源,而且管理复杂度高,于是有了Serverless
在这里插入图片描述

Serverful

在这里插入图片描述
在这里插入图片描述

Serverless

1.定义

被划线这些对开发者是无感知的,这些只需要调接口,没必要之道他们的细节
在这里插入图片描述

2.组成

在这里插入图片描述
在这里插入图片描述

3.特点

无运维指开发人员不需要运维
把很多功能都下沉了,开发人员的工作越来越少
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4. 应用场景

在这里插入图片描述

5.优缺点

在这里插入图片描述

四、Knative

knative不仅可以运行在公有云中,也可以部署在企业内部的数据中心。
本次的案例就是在企业内部部署paas云平台,在paas云平台使用knative运行整个业务

1. knative在云原生中的定位

开发人员不需要在对付复杂的k8s和istio ,因为有个救星knative
在这里插入图片描述
在这里插入图片描述

2. knative 三个最佳实践

1)计算资源cpu,内存 弹性化
2)自动化就是指程序员动动手指就自动构建部署
3)当有人访问的时候,我们的应用可以打开,没人的时候关闭
在这里插入图片描述
Build已经被tekton替换掉了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
白盒化就是没有很多的暗箱操作的意思
在这里插入图片描述
狼烟起,就是准备好打仗了,有一个激活,eventing就是这样的
在这里插入图片描述
只要符合CloudEvents,就能从前端获取后端消息
在这里插入图片描述
事件存储到消息队列,传到trigger,过滤器在将其传给对应的serving
在这里插入图片描述

3. 部署knative

1) 环境说明

在这里插入图片描述
docker 是 20.10.12
在这里插入图片描述

2)部署过程

这次只记录版本,剩下的,直接 knative.dev 官网进行查看部署即可
crd是自定义资源类型,没有这些资源类型怎么部署knative呢?
与istio 合用,需要借助 Istio 的路由功能
在这里插入图片描述
集群外访问集群内所有服务的入口和出口都是这个EXTERNAL-IP
在这里插入图片描述
使用real DNS,这个ip就是 上面的EXTERNAL-IP
在这里插入图片描述
域名写到configmap里
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

istio安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)knative项目部署

这里的镜像是自己开发的,就是在网页显示hello world.
knative 的service 和 k8s 中的svc是不同的,这里的service 类似deployment控制器
在这里插入图片描述
注意这里的ksvc
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一开始访问这个url的时候反应有点慢,因为pod在不用时,它暂时关闭了,你访问它的时候它又重新生成了一个(通过pod名字就能看出来)。访问一次,接着访问的话,速度就会很快,这是在k8s 集群外访问的。
在其他机器想访问就配置下 你的dnsServer就能访问了。
在这里插入图片描述

4)访问验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
此时没有主动关闭 v1,流量到了v2上面。这就是apply一个yaml,就实现了从v1到v2的无缝切换,这就是滚动更新
在这里插入图片描述
go-example-3.yaml是流量分发的例子
在这里插入图片描述
这样访问网页的时候,就是v1 v2 各50%

Knative Eventing

位于事件源和service 之间
在这里插入图片描述
安装看官网
在这里插入图片描述
在这里插入图片描述
安装看这
在这里插入图片描述
在这里插入图片描述
ingress–> In memory channel --> 订阅者—> 过滤–> 对应的service
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来验证Broker 里面的内容能不能被处理

CloudEvents Player 应用

在这里插入图片描述
在这里插入图片描述
上面的url地址就是这个地址
在这里插入图片描述
访问就使用下面这个域名
在这里插入图片描述
从这个 页面发送消息到broker里面去
在这里插入图片描述
比如
在这里插入图片描述
上面的纸飞机变成对勾来说明消息被处理了,现在之所以没有被处理是因为没有trigger
在这里插入图片描述
URI 就是订阅的地址
在这里插入图片描述
有了trigger后就RECEIVED的了
在这里插入图片描述

kn工具安装

之前一直使用的是 kubectl的命令,现在开始使用 knative 自己的命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Knative Eventing

它就是一个路由,将消息的生产者和消息的消费者连接起来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
channel 起到 传递的作用
在这里插入图片描述
在这里插入图片描述

应用案例

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的我们看到 type:greeting 才会发送给 hello-display
下面在你的事件中有 source: sendoff,就转发到 goodbye-display
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们要把消息发到这个地址上来
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/393736.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PDF预览:利用vue3-pdf-app实现前端PDF在线展示

目录 PDF预览:利用vue3-pdf-app实现前端PDF在线展示 一、vue3-pdf-app组件介绍及其优点 1、vue3-pdf-app是什么 2、作用与场景 3、类似的插件 二、项目初始化与依赖安装 1、初始化Vue3项目 2、安装依赖 三、集成vue3-pdf-app插件 1、引入插件 2、配置组件…

ChemLLM化学大模型再升级,AI助力化学研究

ChemLLM 介绍 ChemLLM 系列模型 是由上海人工智能实验室基于InternLM2 开发的首个兼备化学专业能力和对话、推理等通用能力的开源大模型。相比于现有的其他大模型,ChemLLM 对化学空间进行了有效建模,在分子、反应和其他领域相关的化学任务上表现优异。 …

解决戴尔台式电脑休眠后无法唤醒问题

近期发现有少量戴尔的台式机会有休眠后无法唤醒的问题,具体现象就是电脑在休眠后,电源指示灯以呼吸的频率闪烁,无论怎么点鼠标和键盘都没有反应,并且按开机按钮也没法唤醒,只能是长按开机键强制关机再重启才行&#xf…

leetcode 958.二叉树的完全性检验

1.题目要求: 给你一棵二叉树的根节点 root ,请你判断这棵树是否是一棵 完全二叉树 。在一棵 完全二叉树 中,除了最后一层外,所有层都被完全填满,并且最后一层中的所有节点都尽可能靠左。最后一层(第 h 层)…

YOLOv8改进 | 主干网络 | 将backbone替换为MobileNetV4【小白必备教程+附完整代码】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…

Linux PCI和PCIe总线

1 PCIe中断 - PCI/PCIe设备中断都是level触发,并且请求信号为低电平有效 - PCI总线一般只有INTA#到INTD#的4个中断引脚,所以PCI多功能设备的func一般不会超过4个,但是共享中断除外 2 IOMMU 2.1 ARM SMMU v2 Refer to my blog ARM SMMU v2. 2.…

【机器学习】重塑游戏世界:机器学习如何赋能游戏创新与体验升级

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 🔍1. 引言:游戏世界的变革前夜📒2. 机器学习驱动的游戏创新🌞智能化游戏设计与开发&…

OJ-0807

题目 参考 import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);String input in.nextLine();String[] numStrs inp…

身体出现这5种异常,可能是甲状腺在求救,千万别扛着!

甲状腺,被誉为人体新陈代谢的“发动机”,是调节我们身体能量和代谢的重要器官。然而,当甲状腺出现问题时,它往往会通过身体的一些异常信号向我们求救。北京精诚博爱医院张维一主任提醒:以下是五种常见的甲状腺异常表现…

您知道Jmeter中Redirect Automatically 和 Follow Redirects的使用场景吗?

相信很多使用过jmeter的同学都没有关注过请求中的Redirect Automatically 和 Follow Redirects选项,如下图: 在 JMeter 中,Redirect Automatically 和 Follow Redirects 是与 HTTP 请求重定向相关的两个选项,它们之间是有很大区别…

速度规划之:起点速度和终点速度不为零的非对称梯形速度规划

起点速度和终点速度不为零的非对称梯形速度规划 一、引言二、理论基础1. 梯形速度规划概述2.数学建模- 变量定义- 约束关系- 公式推导 三、计算过程1.只存在减速段2.只存在加速段3.存在加速段和减速段4.存在加速度段、匀速段和减速段 四、仿真实现五、优缺点优点缺点 六、总结 …

亚马逊等跨境电商平台怎么找到好的测评资源?

如何找到好的测评资源呢? 目前常规卖家找测评资源主要通过以下途径: 联系自己在海外的亲友帮忙测评,不过海外的亲友会比较有限安排业务员在facebook等社交平台找老外测评,但社交平台找老外很难掌控留评时效,甚至会遇…

破解USB设备通讯协议实现自定义软件控制的步骤与方法

在设备和计算机之间通过USB进行通讯的情况下,厂家提供的软件可以控制设备,但没有提供任何其他资料和支持,这种情况下,若希望自行开发软件来实现同样的功能,可以通过以下步骤破解通讯协议并开发自定义程序。 1. 捕获US…

2-57 基于matlab 实现了气缸的充气和放气的仿真

基于matlab 实现了气缸的充气和放气的仿真,在等温情况和绝热两种情况下分别进行了仿真,并给多变过程下的理论计算公式。程序已调通,可直接运行。 2-57 matlab 气缸充气和放气仿真 - 小红书 (xiaohongshu.com)

【论文阅读】PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images

Q: 论文如何解决这个问题? A: 论文通过提出PETRv2框架来解决多相机图像的3D感知问题,具体方法包括以下几个关键点: 时间建模(Temporal Modeling): 通过3D坐标对齐(3D Coordinates Alignment&…

ASP.Net Core设置接口根路径的方法

使用asp.net core开发微服务项目,需要给每个服务设置不同的根路径,这样既能使用网关转发请求,又方便对单个服务进行测试,保证请求路径的统一。 设置方法需要使用中间件,在Program.cs添加如下代码 app.UsePathBase(&qu…

通过ZRender画一个大屏的顶部样式标题

介绍:通过ZRender画一个大屏项目的顶部样式,在其中放入大屏的标题。ZRender 是二维绘图引擎,它提供 Canvas、SVG、VML 等多种渲染方式。ZRender 也是 ECharts 的渲染器。 一、下载 npm install zrender终端输入以上命令下载包即可。 二、导…

记忆化搜索——1

目录 1.斐波那契数 2.不同路径 3.最长递增子序列 4.猜数字大小2 5.矩阵中的最长递增路径 1.斐波那契数 该题规律很明显,就直接放记忆化搜索的版本了 class Solution { public:int dfs(int n){if(n0||n1)//递归出口{return n;}if(f[n-1]-1)//检查是否已经记忆过…

JVM 加载阶段 Class对象加载位置是在 堆中还是方法区?

在JVM(Java虚拟机)的类加载过程中,Class对象的加载位置涉及到堆(Heap)和方法区(Method Area)两个关键区域。具体来说,类的加载阶段涉及到将类的.class文件中的二进制数据读入到内存中…

黑丝或者白丝,都可以用LoRA(Stable Diffusion进阶篇:ComfyUI 附加网络)

前言 在学习WebUI的那些基础知识点的时候,有一个东西是每一个初学者都绕不开的大山-附加网络。 这个东西对于每一个接触Stable Diffusion的小伙伴来说就像是小学门口小卖部卖的辣条、初中课本上的涂鸦、高中数学卷解不开的最后一道大题。 学习过WebUI里Stable Di…