首页 > 其他分享 >Knative 基础

Knative 基础

时间:2023-10-27 11:36:16浏览次数:38  
标签:Serverless Google Kubernetes Service Eventing 基础 Knative

Knative 项目简介

读音为“kay-nay-tiv”,由Google于2018年7月正式发布
Kubernetes平台的原生扩展组件,让其能够轻松地部署、运行和管理Serverless类型的云原生应用
由RedHat、Google和IBM等公司,以及各种初创公司组成的开源社区共同维护
目标在于Serverless技术标准化

Knative 是什么

基于 Kubernetes 平台,用于部署和管理现代 serverless 工作负载。是Serverless平台,而非Serverless的实现。

Knative 架构体系

遵照Kubernetes的范式,以扩展的方式,通过自定义API资源类型支持
  自动化完成服务的部署和扩缩容(Knative Serving)
  标准化事件驱动基础设施(Knative Eventing)

Knative Serving

Knative Serving 说明

1. 部署、管理及扩展无状态应用
2. 支持由请求驱动计算
3. 支持缩容至0

Knative Serving 组件

1. Serving Controller
2. Resources API
   1. Service
   2. Configuration
   3. Revision
   4. Route

Knative Eventing

Knative Eventing 说明

1. 以声明的方式创建对事件源的订阅,并将事件路由到目标端点
2. 事件订阅、传递和处理
3. 基于pub/sub模型连接Knative的工作负载

Knative Eventing 组件

1. Eventing Controller
2. Resources API
   1. Broker
   2. Trigger
   3. EventType

Knative 适合运行的应用类型

Knative仅适合运行特定类型的应用:无状态、容器化的服务器应用
1. 监听于某套接字之上提供服务的应用,不适合运行批处理作业;
2. 仅支持无状态应用,同一服务的各实例间无差别,可简单进行扩容和缩容;
3. 仅支持通过HTTP/1、HTTP/2或gRPC通信的服务端应用;
4. 应用程序要能够构建为OCI容器镜像;

如何获取Knative服务

自行部署Knative

1. 需要事先准备出Kubernetes集群
2. 事先选定一个可用的网络层来路由和治理流量
   1. Istio(istio-ingressgateway)
   2. Contour
   3. Kourier

基于Knative的商业产品

1. Cloud Native Runtimes for VMware Tanzu
2.  Google Cloud Run:Google完全托管(包括Kubernetes集群)的Knative平台
3.  Google Cloud Run for Anthos/GKE:GKE集群中托管的Knative安装
4.  IBM Cloud Kubernetes Service:IKS集群中托管的Knative安装
5.  Red Hat OpenShift Serverless:Openshift托管的Openshift集群上的Knative安装
6.  Pivotal Function Service(PFS):在Kubernetes上构建和运行函数、应用程序和容器的平台

Knative与Kubernetes

Knative为Kubernetes扩展出的功能有Serving和Eventing。

Serving

1. 替代Deployment控制器,负责编排运行基于HTTP协议的无状态应用
2. 额外提供的功能特性
   1. Knative的Service对象,相当于Kubernetes上的 Service+Deployment 的功能
   2. 基于单个请求进行负载均衡
   3. 基于请求的快速、自动化扩缩容,并支持收缩至0实例
   4. 通过在Pod扩展时缓冲请求来削峰填谷
   5. 流量切分

Eventing

声明式事件配置接口。

参考文档

https://knative.dev/docs/concepts/



标签:Serverless,Google,Kubernetes,Service,Eventing,基础,Knative
From: https://blog.51cto.com/wangguishe/8051983

相关文章

  • Serverless 基础
    Serverless的基础概念云原生开发模型的一种,可使开发人员专注于构建和运行应用,而无需管理服务器。Serverless方案中仍然需要服务器,但它们已从应用开发人员的关注中抽离了出来。云提供商负责置备、维护和扩展服务器基础架构等例行工作开发人员可以简单地将代码打包到容器中进......
  • 软件工程基础知识
    1、软件生存周期可行性分析与项目开发计划--生成可行性分析报告与项目开发计划;需求分析--生成软件需求说明书;概要设计--主要设计软件的结构--生成概要设计说明书;详细设计--生成详细设计文档;编码;测试--生成软件测试计划、测试用例、软件测试报告;维护--软件生存周期中时间最......
  • 金蝶KIS VB插件 老单据如何插入多行值,老单获取基础资料内码、代码、名称
    转自:https://blog.csdn.net/ssyyll/article/details/16804273WhileNotrs.EOF '填充对应的行 Withm_BillTransfer '如果超过两行以上的值,需要先用 .BillForm.InsertRow '插入一行 .SetGridTextLRow,dicFieldEntry("FItemID"),rs("FNumber") .SetGridText......
  • Vim 基础使用命令
    1.1HelloWorld1.1.1vim进入编辑模式编辑模式:一般模式下不可以修改某个字符,若要修改字符,只能进入编辑模式。从一般模式进编辑模式,只需按i、I、a、A、o、O、r和R中某个键即可。当进入编辑模式时,在屏幕尾部会显示INSERT或REPLACE字样(若你的centos支持中文,则会显示“插入”)。从编......
  • C语言基础
     关于二维数组https://blog.csdn.net/weixin_45332776/article/details/116613485    全局变量和静态本地变量关于static  https://blog.csdn.net/qq_43194080/article/details/125686287......
  • web基础漏洞-额外
    1、介绍这里阐述除了web基础漏洞之外的漏洞大全,简要列举,以供快速查询。分为几大类:服务器容器、cms、前端api、后端api、操作系统和端口服务2、服务器容器tomcat后台弱口令war包上传tomcatput漏洞tomcatajp漏洞nignx目录穿越漏洞apache解析顺序漏洞apache.htaccess配置......
  • JS加密/解密之那些不为人知的基础逻辑运算符
    不多说,直接上干货使用逻辑非运算符!和双重逻辑非运算符!!:例如![]、!![]、!0、!!0和!""、!!""。空字符串的转换:!""和!!""。数组和对象的类型转换:[]+[]、[]-[]、{}+[]和[]+{}。对象和原始值的自动拆箱:例如({valueOf:()=>5})+3。减法运算符的字符串转换:例如......
  • Java基础 多线程
    进程:进程是程序的基本执行实体(简单理解就是,一个软件运行之后,它就是一个进程)线程:线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。简单说,线程就是应用软件中互相独立的、又可以同时运行的功能。如果这样的功能比较多,就形成了多线程 ......
  • python进阶知识体系md笔记14大体系200页,第2章:linux基础命令学习
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。完整版笔记直接地址:请移步这里共14......
  • 数据库基础操作3
    今日内容详细python操作MySQL(重要)MySQL本身就是一款C/S架构,有服务端、有客户端,自身带了有客户端:mysql.exepython这门语言成为了MySQL的客户端(对于一个服务端来说,客户端可以有很多)"""SQL的由来"""操作步骤: 1.先链接MySQL host、port、username、password、charset......