解读Knative 0.16.0版本特性

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Knative 0.16.0 版本已于近期发布,针对 Knative v0.16.0 版本对这些新功能特性进行解读,让你快速对新版本特性有所深入了解。

前言

Knative 0.16.0 版本已于近期发布,针对 Knative v0.16.0 版本对这些新功能特性进行解读,让你快速对新版本特性有所深入了解。

从Knative 0.16.0开始,k8s 最小支持版本为:1.16。

Serving

Autoscaling-自动扩缩容

优化缩容时对不可达 revision 处理

当revision reachable时,没有必要再采用步长缩容对逻辑,直接缩容到0即可。

移除 PodAutoscaler custom metrics API

custom metrics API的之前主要作用是提供给 HPA 用于支持基于请求的并发数的metric指标,但是安装custom metrics API 会对 k8s 侵入性太强,另外custom metrics API 对于apiserver的代码维护也带来了问题。针对这些问题,从0.16.0版本开始不再支持custom metrics API。

核心 API

多容器支持

社区终于在0.16.0开始进行多容器支持(尽管当前是alpha)。可以在config-features 配置文件中通过设置“multi-container” 为 “enabled” ,开启多容器特性。

环境变量支持downwards API

可以在config-features 配置文件中通过设置“kubernetes.podspec-fieldref” 为 “enabled” ,开启环境变量支持downwards API 。

webhooks 高可用支持

通过leader选举支持webhooks主备高可用。

Networking-网络

支持通过Header中Tag进行路由选择

在服务请求的Header中,可以通过指定tag,来访问tag对应的revision版本。
例如:如果请求访问 http://svc-name.ns.svc 服务,并且在Header中设置了:Knative-Serving-Tag:tag-name, 那么该请求就会路由到http://tag-name-svc-name.ns.svc 对应的revision 服务。

knative-serving namespace删除istio注入标签

当前knative-serving namespace的istio注入标签已经没有实际的应用,因此在0.16.0版本中从 knative-serving namespace中移除istio-injection=enabled标签

Eventing

V1版本支持

从0.16.0开始,以下资源提供了v1版本支持:

  • Subscription
  • Channel
  • InMemoryChannel
  • Broker
  • Trigger
  • Sequence
  • Parallel

这意味着Event这部分功能日渐成熟。

新增sugar-controller

引入一个 sugar-controller 主要用于调和 Namespace 和 Trigger,同时会从核心controller中移除Namespace reconciler和 Trigger reconciler

PingSource 事件接收高可用支持

当前接收PingSource adapter通过leader选举支持主备高可用部署。

总结

随着Knative 0.16.0 版本的发布,社区越来越关注用户 Knative 实际使用中的诉求, 如多容器支持、通过Header中Tag进行路由选择等。相信在后续的版本中会提供更多实用的功能来满足不同的 Serverless 场景实际运用。欢迎有兴趣的同学一起交流。

欢迎加入 Knative 交流群

image.png

目录
相关文章
|
5月前
|
Kubernetes 容器
在Kubernetes(k8s)中部署Higress时,查看Wasm插件日志的方法如下
在Kubernetes(k8s)中部署Higress时,查看Wasm插件日志的方法如下
92 1
|
2月前
|
Kubernetes Cloud Native 开发者
ChaosBlade支持问题之支持openstack如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
7月前
|
Kubernetes API 索引
k8s 1.28重磅发布,Sidecar Containers等45个特性来了!
k8s 1.28重磅发布,Sidecar Containers等45个特性来了!
225 1
|
12月前
|
存储 负载均衡 测试技术
「微服务架构」使用Canary版本来简化API版本控制
「微服务架构」使用Canary版本来简化API版本控制
|
存储 Kubernetes 网络协议
如何实现一个 Kubernetes 网络插件
春节假期在家维护「家庭级 Kubernetes 集群」时,萌生了写一个网络插件的想法,于是基于 cni/plugin 仓库已有的轮子,写了 Village Net( https://github.com/zwwhdls/village-net )。以这个网络插件为例,本文着重介绍如何实现一个 CNI 插件。
269 0
|
运维 Kubernetes 网络协议
Rainbond 5.5 发布,支持Istio和扩展第三方Service Mesh框架
Rainbond 5.5 版本主要优化扩展性。服务治理模式可以扩展第三方 ServiceMesh 架构,兼容kubernetes 管理命令和第三方管理平台。
Rainbond 5.5 发布,支持Istio和扩展第三方Service Mesh框架
|
Kubernetes Serverless API
解读Knative 0.17.0版本特性
Knative 0.17.0 版本已于近期发布,对于 Knative v0.17.0 版本新特性,我们进行解读,让大家对 Knative 新版本快速了解。
1932 0
解读Knative 0.17.0版本特性
|
Kubernetes 负载均衡 网络协议
解读 Knative Serving v0.15.0 版本特性
Knative 0.15.0 版本已于近期发布,针对 Knative Serving v0.15.0 版本对这些新功能特性进行解读,让你快速对新版本特性有所深入了解。
1621 0
|
消息中间件 Kafka API
解读 Knative Eventing v0.14.0 版本特性
Knative Eventing v0.14.0 版本已于近期发布,新版本带来了哪些特性呢?本文会进行相关的解读
1443 0
|
Prometheus Kubernetes Cloud Native
解读 Knative v0.13.0版本特性
Knative Eventing v0.13.0 发布了,猜一下这个版本有没有惊喜特性,本文给你带来解读。
1815 0