首页 > 其他分享 >Knative 基础

Knative 基础

时间:2023-09-15 14:22:59浏览次数:33  
标签:Serverless Serving 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,Serving,Kubernetes,Service,Eventing,基础,Knative
From: https://www.cnblogs.com/wangguishe/p/17704907.html

相关文章

  • 计算机基础
    计算机基础1、Python是什么?Python是一门编程语言。  语言是一种事物与另外一种事物沟通的介质。  所以说编程语言就是程序员与计算机共同的介质。编程语言还有其他分类:2、什么是编程?  就是程序员用计算机所能理解的表达方式(编程语言)把自己的思维逻辑写下来。......
  • less-基础用法
    什么是less?less,suss,stylus都是css的动态扩展语言.三种都大同小异官网:https://less.nodejs.cn/怎么用?与Node.js一起使用:安装:npminstall-gless编译:lesscstyles.lessstyles.css在浏览器使用:<linkrel="stylesheet/less"type="text/css"href=......
  • k8s 基础理论汇总
    1.k8s有哪些常用组件,他们功能是什么 etcd保存了整个集群的状态;apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;controllermanager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;scheduler负责资源的调度,按照预定的调度......
  • java基础
    java基础常量缓存池Integerinteger=newInteger(18);Integerinteger1=newInteger(18);Integerinteger2=Integer.valueOf(18);Integerinteger3=Integer.valueOf(18);//falseSystem.out.println(integer==i......
  • 【云原生持续交付和自动化测试】5.3 持续交付和DevOps实践基础知识
     【云原生持续交付和自动化测试】5.3持续交付和DevOps实践基础知识5.3.1什么是持续交付云原生下对持续交付(ContinuousDelivery)是一种软件开发方法,旨在实现高质量、可靠且可持续的软件交付。它强调通过自动化的流程和工具链,使得软件的构建、测试和部署过程可以频繁地进行,......
  • Xilinx平台以太网接口(一)TCP-IP基础
    汇总篇:XilinxFPGA平台以太网接口(汇总篇)_xilinxethernet_子墨祭的博客-CSDN博客 本系列文章基于xilinx三速以太网IP进行学习介绍。在完成以太网通信实验之前,必须要对以太网基础知识进行了解。时间充裕的可以看看《图解TCP/IP》作为扫盲。本文重点对以太网帧结构进行介绍。......
  • IP 路由基础
    在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。路由是数据通信网络中最基本的要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。路由概述路由初识......
  • Linux基础39 nginx动静分离, nginx资源分离, rewrite概述
    一、动静分离动静分离,通过中间件将动静分离和静态请求进行分离;通过中间件将动态请求和静态请求,可以减少不必要的请求消耗,同时能减少请求的延时。通过中间件将动态请求和静态请求分离,逻辑图如下: 二、配置动静分离1.单台机器的动静分离[[email protected]]#vimwordpre......
  • 【FPGA项目】沙盘演练——基础版报文收发
    第1个虚拟项目1. 前言点灯开启了我们的FPGA之路,那么我们来继续沙盘演练。用一个虚拟项目,来入门练习,以此步入数字逻辑的大门。KeyWords:FIFO、SOF、EOF、计数器、缓存、时序图、方案设计2. 项目要求1) 输入报文长度64~2048字节;2) 输入报文之间最小间隔为两拍;3) 输出......
  • Unity 游戏开发、03 基础篇 | C#初级编程
    C#初级编程https://learn.u3d.cn/tutorial/beginner-gameplay-scripting8Update和FixedUpdateUpdate(不是按固定时间调用的)经常用于移动非物理特性的物体(不是物理对象)简单定时器接收输入FixedUpdate(调用时间间隔相同)进行任何必要的物理计算(任何物理对象)最好使用力......