Knative 0.5 发布

原文:Announcing Knative v0.5 Release

作者:Mark Chmarny

再一次激动地宣布 Knative 的新版本发布了。Knative 是一个能帮助开发者在 Kubernetes 基础之上,构建、部署和管理现代 Serverless 工作负载的平台。

更加频繁和符合预期的发布节奏,让我们有机会能够从真实世界中获得更快的反馈,这种节奏当然也意味着更小的、更多的功能进展。也不全是这样,Knative v0.5 中,Eventing 系统有了长足的进步。其中的 Trigger 和 Broker 对象的引入,让开发者基于 Knative 构建事件驱动系统时能够得到更好更强的开发体验。

除了 Eventing,这个版本的 Knative 还增加了监控指标,提高了自动伸缩、队列代理以及 Istio 遥测的可观察性,下面做一个介绍,并对部分变更做出一点深入讲解。

Eventing

Eventing 架构中加入了 TriggerBroker 对象,开发者能够轻松的构建出复杂且健壮的事件驱动应用。通过对 ProducingConsuming 服务的解耦,对路由配置的需求大大降低。我们相信,社区将会使用这一新能力构建出新的事件和创新的解决方案。

Knative Eventing Object Model

Trigger:开发者不再需要手工的对事件进行转换并路由给下游的 Knative 服务。只要定义一个简单的事件触发器,选择源事件(可以使用任何方式进行过滤),然后发送到消费方服务即可。这一对象会给开发者的体验带来很大简化。

Broker:事件 Broker 充当了事件 Hub 的角色,所有的消息都会发送给它。开发者和用户简单的编写服务或者配置事件源发送时间给 Broker,Broker 会处理其它工作。消费方服务只需要创建一个触发器,从 Broker 中接收它们感兴趣的事件即可。

新的事件源:Kanative 中加入了 Kafka 的事件源,将 Kafka 生态系统的丰富功能带给了 Knative 和 Kubernetes。

自动伸缩

自动伸缩功能增强,在重度工作负载的情况下,能够更平顺、更高效的完成伸缩动作。加入了更多的自动伸缩指标,增强了可观察性。

核心 API

新版本中,具名子路由的 URL 暴露在 Service 和 Route 资源的状态之中,就不用再猜测如何标记流量的分配状况了。这是 v1beta1 task force 中的第一个变化。后续版本中将会看到更多这方面的更新。

另外我们的 Webhook 中,很多缺省值都可以使用名为 config-defaults 的 Configmap 进行配置了。另外,在我们的控制器遇到内部错误时,会通过 Kubernetes 事件系统提供更好的可见性。最后,我们还扩展了我们的一致性测试,其中包含了对 securityContextmetadata.generateName 的支持。

网络

这一版本中,针对 gRPC 服务的冷启动和客户端的认证头处理有了很大提升。

Knative 0.5 的完整发布公告中包含了新功能和问题修复的完整列表,分别在 ServingBuildEventing 代码库中。

Avatar
崔秀龙

简单,是大师的责任;我们凡夫俗子,能做到清楚就很不容易了。

comments powered by Disqus
下一页
上一页

相关