3

开源 Serverless 里程碑:Knative 1.0 来了

 2 years ago
source link: https://my.oschina.net/u/3874284/blog/5379649
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者:元毅

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK