开源 Serverless 里程碑:Knative 1.0 来了
作者:元毅
导读
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 (图片来源详见文末相关链接)
另外 Knative 社区近期也发起了一项统计:当前哪些云厂商或企业在提供或者使用 Knative。目前已统计如下(并且这项列表还在持续更新中):
图片 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 管控组件全托管,极大的节省了用户的资源以及运维成本。
在产品化持续迭代中,也带来了更丰富的客户应用场景,当前在阿里云 Knative 典型的应用场景(包括但不限):
- AI 音视频编/解码场景
- GPU 等异构计算场景
- 大数据及 AI 深度学习、机器视觉
- 传统管理软件
- ...
行业涵盖智慧医疗、在线教育、数字空间建模等领域。阿里云容器服务 Knative 正在为用户持续不断的提供企业级 Serverless 平台能力。
小结
如果你正面对复杂、多样的 Kubernetes 资源(Deploymemt、Service、Ingress 等)无从下手的难题,Knative 或许可以帮你轻松应对;如果你正面对成本压力、运维负担,Knative 可以为你减负。欢迎有兴趣的同学一起交流。
阿里云 Knative 钉钉交流群:
相关链接
1)图片 1:
2)图片 2:
3)参考
- https://knative.dev/blog/articles/knative-1.0/
- https://cloudnative.to/blog/knative-1-0-ga/
- https://github.com/knative/community/blob/main/ADOPTERS.MD
点击此处了解更多阿里云 Knative 产品相关信息!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何缩小安全漏洞爆炸半径,实现服务间零信任安全?
作者:王夕宁, 奇方 近日国内外多家安全机构监测到 Apache Log4j 存在任意代码执行漏洞(漏洞编号:CVE-2021-44228),未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最终在目标上执行任意代码。 众所周知,Log4j 在多个微服务应用框架中被广泛使用,这些分布众多的微服务也会增加安全的挑战,每个微服务都是一个被攻击的目标。Kubernetes 为托管和编排用户的微服务提供了一个出色的平台。但是,默认情况下,微服务之间的所有交互都不安全。它们通过纯文本 HTTP 进行通信,但这不足以满足安全要求。只依赖网络边界来保证安全是不够的,因为一旦内部的某个服务被攻陷,边界安全手段就如马奇诺防线,攻击者能够以该机器为跳板来攻击内网。所以,内部的调用也必须安全,这就是零信任的用武之地。 零信任是 Forrester 分析师 John Kindervag 提出的, 是指无论在网络边界内部还是外部,都没有任何隐含的信任可言。换句话说,任何地方都需要显式认证, 并使用最小权限原则来限制对资源的访问。 服务网格技术的一个重要的价值主张就是它如何有效地保护应用的生...
- 下一篇
如何强化应用安全能力,全面拦截 Log4j 漏洞攻击
最近几天对于很多开发者而言,只能用争分夺秒与胆战心惊来形容。而造成这一切的源头,来自于被公布的 Apache Log4j2 远程代码执行漏洞(CNVD-2021-95914)。当前几乎所有技术巨头都在使用该开源组件,其危害将带来一连串连锁反应。据行业机构不完全统计,该漏洞影响 6w+ 流行开源软件,影响 70% 以上的企业线上业务系统!漏洞波及面、危害程度均堪比 2017 年的让数百万台主机面临被勒索病毒攻击的风险的“永恒之蓝”漏洞。 漏洞解析 Apache Log4j RCE 漏洞造成如此大影响的原因,不仅在于其易于利用,更在于其巨大的潜在危害性。此次危机由 Lookup 功能引发,Log4j2 在默认情况下会开启 Lookup 功能,提供给客户另一种添加特殊值到日志中的方式。此功能中也包含了对于 JNDI 的 Lookup,但由于 Lookup 对于加载的 JNDI 内容未做任何限制,使得攻击者可以通过 JNDI 注入实现远程加载恶意类到应用中,从而造成 RCE。 据悉,Apache Log4j 2.x <= 2.14.1 版本均回会受到影响。可能的受影响应用包括但不限于:S...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境