赠书 | 什么是 Knative?

作者 | 李志伟、游杨

来源 | 华章计算机

头图 | 下载于视觉中国

✎ 导读 


什么是Knative?本文将对Knative的产生背景及发展历程,架构设计,受众群体等做详细介绍。

Knative是由谷歌发起,有Pivotal、IBM、Red Hat等公司共同参与开发的Serverless开源解决方案(项目地址是https://github.com/knative)。官方给Knative的定位为“基于Kubernetes的平台,用来构建、部署和管理现代Serverless工作负载”通过Knative可将云原生应用开发在三个领域的最佳实践结合起来,这三个领域的最佳实践是指服务构建部署的自动化、服务编排的弹性化以及事件驱动基础设施的标准化。

Knative的产生背景及发展历程

Serverless的理念受到了业界广泛的认可。众多云厂商也都相继发布了各自的Serverless产品的托管服务。但Serverless发展的主要障碍依然没有铲除。Serverless标准不统一,应用无法跨平台或跨云厂商迁移,直接导致应用程序与具体云厂商绑定,这极大地影响了企业在技术选型时对Serverless的选择。

随着Kubernetes生态的发展壮大,基于Kubernetes的开源Serverless解决方案也大量出现,基于Kubernetes云原生平台的Serverless的标准化需求也更加强烈。Knative的主要目标就是将Serverless标准化。

Knative开源项目将Serverless平台中的服务管理、事件驱动、构建部署进行了标准化。它既可以以托管服务形式运行在公有云中,也可以部署在企业内部的数据中心,从而很好地解决多云部署以及供应商锁定的问题。

在两年多时间里,Knative不断发展演进。

  • 2018年7月,在Google Cloud Next 2018大会上,谷歌正式发布了Knative。

  • 2019年4月,在Google Cloud Next 2019大会上,谷歌正式发布了谷歌云的无服务器计算产品Cloud Run。Cloud Run是Knative的托管服务,也是Knative第一个商用的托管服务。

  • 2019年8月,0.8版本发布,这是Serving第一个RC版本。

  • 2020年7月,0.16.0版本发布。 

Knative的架构设计

Knative的架构设计遵循了标准化、可替代、松散组合、不绑定的总体设计原则。它以Kubernetes扩展的形式实现了服务构建和部署的自动化、服务编排的弹性化以及事件驱动基础设施的标准化。

Knative以Kubernetes扩展的形式提供了一整套中间件,用来构建新一代以代码为中心、基于容器的应用程序。这些应用程序可以运行在任何云环境中。

1)Knative整合Kubernetes平台的最佳实践,将能力主要聚焦在容器的部署、路由和流量管理、按需自动化扩缩容、事件绑定服务。

2)Knative由Serving和Eventing两大组件构成。其中,Serving组件负责实现请求驱动计算,支持缩容到零;Eventing组件负责事件的交付和管理。

3)Knative建立在Kubernetes生态的基础之上。它整合了Kubernetes和Istio的能力,没有重新造轮子,从Kubernetes生态中获益的同时进一步推动了Kubernetes的应用,如图1所示。

Knative是一个云原生Serverless框架,可以运行任何无状态容器应用。这也意味着Knative可以通过容器整合各类FaaS平台的运行时框架,实现兼容各类FaaS平台已有的应用程序。 

图1  Knative与Kubernetes生态

 

Knative的主要受众群

不同的受众使用Knative的方式是不同的,如图2所示。 

图2 Knative的受众群及分工

1)开发人员:开发人员通过Knative组件提供的Kubernetes原生API部署Serverless风格的函数、应用和容器。

2)运维人员:Knative可以被集成到现有的云厂商或企业内部运维的Kubernetes服务上,支持在任何兼容的Kubernetes版本上安装运行。

3)社区贡献者:Knative是一个多元化、开放且包容的社区。它拥有清晰的项目范围定义、轻量的管制模型以及每个可插拔组件间整洁的分隔线,以此为基础建立起高效的工作流。社区贡献者可以提供项目代码和文档。

Knative的商业托管服务产品

Knative是一个拥有众多厂商参与的社区,其中很多厂商已经提供Knative的商业托管服务产品。以下是Knative部分商业托管服务产品的清单。

  • Gardener:通过在Gardener vanilla Kubernetes集群中安装Knative,实现无服务器运行时附加层。

  • Google Cloud Run for Anthos:通过Serverless开发平台来扩展Google Kubernetes Engine。利用Cloud Run for Anthos,你可以通过Kubernetes的灵活性获得Serverless的开发体验,从而在自己的集群上部署和管理Knative服务。

  • Google Cloud Run:由谷歌云全托管的基于Knative的Serverless计算平台。你无须管理Kubernetes集群,通过Cloud Run可以在几秒钟内将容器应用到生产环境中。

  • Managed Knative for IBM Cloud Kubernetes Service:IBM Kubernetes Service的托管附加组件,便于你在自己的Kubernetes集群上部署和管理Knative服务。

  • OpenShift Serverless:OpenShift容器平台可以让有状态、无状态的Serverless工作负载自动在单个多云容器平台上运行。开发人员可以使用一个平台来托管其微服务、传统应用和Serverless应用程序。

  • Pivotal Function Service (PFS):一个用于在Kubernetes上构建和运行函数、应用程序和容器的平台,基于RIFF的开源项目。

  • TriggerMesh Cloud:一个全托管的Knative和Tekton平台,支持AWS、Azure和Google事件源和代理。

本文摘编自《Knative实战:基于Kubernetes的无服务器架构实践》。


对于Knative,你有哪些了解?

#欢迎来评论区讨论#

CSDN云计算 将选出三名优质留言

携手【机械工业出版社华章分社】送出

《Knative实战》一本

截至4月19日14:00点


2020-2021中国开发者调查报告重磅来袭,直接扫码或微信搜索「CSDN」公众号,后台回复关键词「开发者」,快速获取完整的报告内容!


更多精彩推荐
☞如何部署一个Kubernetes集群☞继云计算巨头失火后,微软决定送数据中心去“泡澡”!☞走过 30 年:银行数据库的下一步是国产化
点分享点收藏点点赞点在看

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

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

相关文章

canal kafka 实现mysql与es/redis 数据同步

文章目录一、原理实现1. 方案设计流程图2. 实现原理二、mysql开启binlog模式2.1. 配置my.ini2.2. 重启mysql服务2.3. 验证binlog模式2.4. 创建canal账号2.5. 账号验证三、docker-compose环境搭建3.1. 环境总览3.2. 编写docker-compose.yml3.3. 安装docker-compose3.4. 构建环境…

免费下载!《阿里工程师的自我修养》公开10位阿里大牛解决问题的思维方式

简介: 今天,阿里技术公布一波阿里P8、P9技术大牛的思维模型,将他们的思维模式呈现出来。你可以在阿里资深专家职业生涯的真切感悟中,找到应对危机的最佳方法。《阿里工程师的自我修养》现已正式公开,可免费下载阅读。 …

云原生时代消息中间件的演进路线

简介: 本文整理自作者于 2020 年云原生微服务大会上的分享《云原生时代的消息中间件演进》,主要探讨了传统的消息中间件如何持续进化为云原生的消息服务。 作者 | 周礼(不铭) 阿里巴巴集团消息中间件架构师 导读:本文…

四大“化学融合”、两大核心平台能力,华为首次系统解读OneStorage

4月14日,在2021华为全球分析师大会期间,华为举办数据存储专场Session,面向全球分析师全面解读下一代数据存储解决方案OneStorage,引领数据存储产业迈向全场景智能和多云融合。同时,在此期间华为首次向业界系统性地诠释…

科普|不同协议下远程服务器文件上传_下载优劣对比

简介: 作为一个程序员,如果不知道如何进行远程服务器的文件上传与下载,实在是一件尴尬的事情,今天我们聊聊如何实现远程服务器的文件上传与下载。 作为一个程序员,如果不知道如何进行远程服务器的文件上传与下载&#…

Module build failed: Error: Cannot find module ‘gifsicle‘

问题描述: build Cannot find module ‘gifsicle’ 解决方案: 第一步:卸载image-webpack-loader 第1种方式:删除项目中的image-webpack-loader npm uninstall image-webpack-loader第2种方式:删除node_modules中的im…

高德AR驾车导航解决方案

简介: 高德从2018年首创了车载AR导航后,已经先后在后视镜、智能车盒、前装整车厂、后装车机产品、行车记录仪等众多场景落地应用,搭建了非常完整的AR导航生态。 日前,高德地图最新发布了v10.60新版本,上线了手机端的A…

第 11 个“世界备份日”刚过,《Veeam 2021 数据保护报告》为你解读全球数据备份现状

2011 年 3 月 31 日,美国网络社区 Reddit 发起“世界备份日(World Backup Day)”倡议活动,号召人们做好数据安全备份。于是每年愚人节前一天成为“世界备份日”,口号很有趣 Don’t Be An April Fool,Backup Your Data&…

知乎李大海对话阿里云贾扬清:透视AI应用难题与未来趋势

自AlphaGo接连战胜李世石与柯洁后,越来越多从业者将AI看做科技行业的未来。大大小小的AI公司兴起,国内外巨头公司纷纷加速向AI转型。但经历祛魅后的AI,在过去几年间却并未获得观察者们预想的火箭式爆发。 “AI行业接下来可能有哪些发展&…

当 Kubernetes 遇到机密计算,阿里巴巴如何保护容器内数据的安全?

简介: 8 月 26 日,我们发起了第 6 期 SIG Cloud-Provider-Alibaba 网研会直播。本次直播主要介绍了机密计算的概况, InclavareContainers 开源项目架构、已支持的功能和迭代计划,以及阿里云 ACK-TEE 的发展现状和规划。本文汇集了…

人脸核身基础版 SDK 接入 > 合作方后台上送身份信息

文章目录一、概述二、实现流程2.1. 获取获取 access_token2.2. 获取 SIGN ticket2.3. 生成签名2.4. 上送身份信息2.5. 获取 NONCE ticket三、实战3.1. 获取获取 access_token3.2. 获取 SIGN ticket3.3. 生成签名3.4. 上送身份信息3.5. 获取 NONCE ticket四、开源地址一、概述 …

5G、射频、奥特曼,这仨有联系吗?

作者 | 小枣君来源 | 鲜枣课堂头图 | 下载于ICphoto手机,作为移动互联网时代的标配,已经走进了我们每个人的生活。有了它,我们可以随心所欲地聊天、购物、追剧,享受美好的人生。正因为手机如此重要,所以人们对相关技术…

一种简单快捷的 java 热部署方式

简介: 本文热部署插件(Arthas Hot Swap)是基于 Arthas redefine 命令实现的,使用该插件进行远程热部署无需任何配置,无需使用 debug 端口,只需几个简单动作就能完成。 作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 【Arthas 官…

赠书 | IoT 的真正目标是什么

以往在构建物联网局域网系统时,为了方便考虑,在云端进行数据处理和分析已经成了常识。但是这种做法已经无法应对现在的情况。在物联网中边缘计算的必要性想要获取数据就要增加连接的设备数量,提高从传感器采集数据的记录(获取&…

AI 腾讯云人脸核身之独立H5接入

文章目录一、概述二、合作方后台上送身份信息~实现流程2.1. 前端入参2.2. 后端固定参数2.3. 获取 Access Token2.4. 获取 SIGN ticket2.5. 生成签名2.6. 合作方后台上送身份信息三、启动H5人脸核身3.1. 获取h5faceId3.2. 获取nonce3.3. 获取nonceTicket3.4. 计算启动签名3.5. 构…

最佳实践:使用阿里云CDN加速OSS访问

简介: 用户直接访问OSS资源,访问速度会受到OSS的下行带宽以及Bucket地域的限制。如果通过CDN来访问OSS资源,带宽上限更高,并且可以将OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,访问速度更快&#…

IDEA 2022 CPU占用100%的问题及解决方法

禁用下面这三个插件然后重启IDEA即可: Package Checker Package Search Ktor 下面的内容可以不用看了,只要禁用这仨插件就行

无服务计算应用场景探讨及 FaaS 应用实战

简介: 无服务计算本身是一个概念或者理论模型,落地到具体技术上主要有函数即服务(FaaS)以及后端即服务(BaaS)两种形式,阿里云提供函数即服务 FaaS 产品。 作者 | 宋文龙(闻可&#x…

想学 Python?那这套教程再适合你不过了!!

如果你想问最近这些年什么编程语言最值得学习,我相信很多人都会告诉你是Python!所以不仅是开发小白,甚至很多开发老手,也都开始学习Python,作为辅助第二语言来提高自己的职场竞争力。不过结合我最近这些年Python的学习…

2020-09-01

简介: 《5天入门视觉AI》电子书来了!身份证识别、电子相册两大实践场景带你快速入门视觉AI应用开发! 阿里云“在家实践”全新出击! 《5天入门视觉AI》电子书正式上线! 视觉AI训练营必备教材! 身份证识别、电…