开源 Serverless 里程碑:Knative 1.0 来了

摘要:
支持多个HTTP路由层(包括Istio、Contour、Kourier和Ambassador),支持事件驱动事件的概念和常见订阅方法(包括Kafka、GCPPubSub和RabbitMQ)”

作者:元毅

导读

Knative 是基于 Kubernetes 之上提供的一款开源 Serverless 应用框架,帮助用户部署和管理现代化的 Serverless 工作负载,打造企业级 Serverless 平台。Knative 具备如下优势:

  • 在几秒钟内建立可扩展、安全、无状态的服务。
  • 具有更高级别 Kubernetes 应用抽象的 API
  • 可插拔组件,让您可以使用自己的日志记录和监控、网络和服务网格。
  • 在 Kubernetes 运行的任何地方都可以运行 Knative,无需担心供应商锁定
  • 开发者无缝体验,支持 GitOps、DockerOps、ManualOps 等。
  • 支持常用工具和框架,例如 Django、Ruby on Rails、Spring 等。

Knative 1.0

近期 Knative 发布了 1.0 版本,达到了一个重要的里程碑。Knative 自 2018 年 7 月首次发布以来, 版本不断的迭代发展,除了无数的错误修复、稳定性和性能增强之外,按时间顺序还进行了以下改进:

  • 支持多个 HTTP 路由层(包括 Istio、Contour、Kourier 和 Ambassador)
  • 支持事件驱动 Eventing 概念以及常见的订阅方法(包括 Kafka、GCP PubSub 和 RabbitMQ)
  • “鸭子类型 " 的抽象,允许处理具有共同字段(如 status.conditions 和 status.address)的任意 Kubernetes 资源
  • 支持额外功能插件的命令行客户端
  • 6 周一次的定期发布流程
  • 支持 HTTP/2、gRPC 和 WebSockets
  • Broker 和 Trigger,以简化事件的发布和订阅,同时将生产者和消费者解耦
  • 支持事件组件向非 Knative 组件传递,包括集群外组件或主机上的特定 URL
  • 支持自动提供 TLS 证书(通过 DNS 或 HTTP01 挑战)
  • 定制事件交付选项,包括对无法交付的事件进行重试和 dead-letter 死信队列
  • 对 Broker 和 Channel 的事件追踪支持,以改善调试工作
  • 由 Knative Build 催生的 Tekton 项目
  • 支持并行和顺序组件,用于编排事件的工作流
  • 事件源的文档以及如何贡献说明,目前涵盖了大约 40 个不同的事件源
  • “无中断” 平滑升级,在小版本升级期间无请求中断
  • 重新设计Serving的 API,以匹配Deployment、CronJob 等使用的 PodTemplateSpec,简化 Kubernetes 用户的使用
  • 支持将事件目标地址注入 PodTemplateSpec 的对象中
  • 支持基于并发数或 RPS 的水平 Pod 自动扩缩容
  • 使用领导者选举实现控制平面组件的高可用性
  • 提供一个帮助管理员安装 Knative 的 Operator
  • 快速入门,供开发者在本地试用 Knative
  • 使用 DomainMapping 简化服务的管理和发布

Knative 到底有多少拥趸

从 Knative 诞生到 1.0 发布至今,不断的会面对一系列这样的问题:Knative 到底有多少企业在使用?是否生产可用?

根据 CNCF 2020 中国云原生调查报告,Knative 已经成为 Kubernetes 上最广泛安装的无服务器

1.png
图片 1 (图片来源详见文末相关链接)

另外 Knative 社区近期也发起了一项统计:当前哪些云厂商或企业在提供或者使用 Knative。目前已统计如下(并且这项列表还在持续更新中):

2.png
图片 2 (图片来源详见文末相关链接)

我们可以看到,几乎所有的大厂都支持或者集成 Knative, 如阿里云、谷歌云、IBM、Red Hat等,并且大部分都提供了生产级别能力(Production),而随着 Knative 1.0 的发布,相信有更多的用户去拥抱 Knative。

阿里云 Knative

阿里云容器服务从 Knative 0.6.0 版本开始产品化集成,持续跟进 Knative 社区功能迭代,当前已全面支持 Knative 1.0 版本。在此期间,阿里云 Knative 与容器服务Kubernetes生态、消息、存储等云产品进行了全方位的融合。包括:

  • 丰富的消息云产品事件源:Kafka 、MNS 、RocketMQ
  • 服务访问:SLB
  • 存储:NAS 、云盘等
  • 可观测性:日志服务、ARMS
  • IaaS 资源:ECS 、ECI

此外为了降低用户使用 Knative 门槛,通过容器服务 UI 控制台提供一键部署能力,在 Serverless Kubernetes(ASK) 中将 Knative 管控组件全托管,极大的节省了用户的资源以及运维成本。

3.png

在产品化持续迭代中,也带来了更丰富的客户应用场景,当前在阿里云 Knative 典型的应用场景(包括但不限):

  • AI 音视频编/解码场景
  • GPU 等异构计算场景
  • 大数据及 AI 深度学习、机器视觉
  • 传统管理软件
  • ...

行业涵盖智慧医疗、在线教育、数字空间建模等领域。阿里云容器服务 Knative 正在为用户持续不断的提供企业级 Serverless 平台能力。

小结

如果你正面对复杂、多样的 Kubernetes 资源(Deploymemt、Service、Ingress 等)无从下手的难题,Knative 或许可以帮你轻松应对;如果你正面对成本压力、运维负担,Knative 可以为你减负。欢迎有兴趣的同学一起交流。

阿里云 Knative 钉钉交流群:

4.png

相关链接

1)图片 1:

https://www.cncf.io/blog/2021/04/28/cncf-cloud-native-survey-china-2020/?spm=a2c6h.12873639.0.0.50825d98LheP6P

2)图片 2:

https://github.com/knative/community/blob/main/ADOPTERS.MD?spm=a2c6h.12873639.0.0.50825d98LheP6P&file=ADOPTERS.MD

3)参考

点击​此处​了解更多阿里云 Knative 产品相关信息!

免责声明:文章转载自《开源 Serverless 里程碑:Knative 1.0 来了》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQL Server存储过程模拟HTTP请求POST和GET协议vue-cli3使用less全局变量,不用每个组件引入less文件(亲测有效)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Verilog非阻塞赋值的仿真/综合问题 (Nonblocking Assignments in Verilog Synthesis)上

http://hi.baidu.com/hieda/blog/item/4a7f238220e256a60cf4d2c2.html 源文件作者:Clifford E. Cummings    (Sunburst Design, Inc.) 原标题:Nonblocking Assignments in Verilog Synthesis, Coding S...

app开发之deviceone

deviceone,跨平台、低成本、纯原生的app开发服务,具体介绍见:http://www.deviceone.net/ do不同于dcloud、rn等开发套件,do只是一座桥梁,可以选择使用javascript or lua进行纯原生开发,开发后的app同时适配android、ios、winphone、桌面等平台,真正实现了跨平台原生开发的特点,开发出...

Docker云端部署篇

视频地址 新建 docker/nginx.conf server{ lister 80; location /{ root /usr/share/ngin/html; index index.html; } } 新建 docker/Dockerfile FROM...

UISwitch开关

UISwitch是一种简单的开或者关的UI元素。由开关设置的初始化状态可以看出,开关的应用相当于布尔代数。我们使用其ValueChange事件来检测开关的切换,并通过属性on或者实例方法isOn来获取当前值。 就像我们的手机开屏关屏按键一样,按一下不是开就是关。 - (void)viewDidLoad { [super viewDidLoad];...

newbee-mall开源项目被慕课网拿去做课程,讲师已道歉,课程却还在售卖

其实,自从我爆出这件事情,也没过去几天,第一次发声就是4天前。但是最近收到了很多消息,来自各种渠道的,都是在问我事件的最新进展。 包括优弧大佬也问了这个事情: 其实,时间太短,事件暂时也没什么进展,目前也就是课程的讲师迫于舆论压力,向我道歉了。而涉嫌侵权的课程,依然在慕课网的网站上售卖,而且由于6.18大促的原因,他们还在大力的推广。 所以,就觉得挺,e...

Java 的布局管理器GridBagLayout的使用方法(转)

GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直、水平或沿它们的基线对齐。 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,...