解读Knative 0.16.0版本特性

简介: 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版本。

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

目录
相关文章
|
Ubuntu
Ubuntu 20.04 安装 Fira Code 字体
Ubuntu 20.04 安装 Fira Code 字体
1588 0
|
存储 消息中间件 NoSQL
深入了解Redis:高性能的内存数据库
深入了解Redis:高性能的内存数据库
|
网络协议 Unix 网络架构
网际控制报文协议ICMP
网际控制报文协议(ICMP)是TCP/IP体系结构中网际层的关键组件,用于提高IP数据报的成功传输率。ICMP主要处理两类报文:差错报告报文与询问报文。前者包括终点不可达、源点抑制、时间超过、参数问题及重定向等五类;后者则涵盖回送请求/回答及时间戳请求/回答。ICMP广泛应用于检测网络连通性的PING工具和追踪数据包路径的traceroute工具中。两者分别利用ICMP的回送请求报文及差错报告报文实现功能。
834 10
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
1088 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
安全 Java Go
【Golang入门】简介与基本语法学习
Golang语言入门教程,介绍了Go语言的简介、基本语法、程序结构、变量和常量、控制结构、函数、并发编程、接口和类型、导入包、作用域以及错误处理等关键概念,为初学者提供了一个全面的学习起点。
514 0
|
前端开发 JavaScript 索引
uniapp的u-album组件自定义删除功能
这样,你就可以在u-album组件中实现自定义的删除功能了。需要注意的是,这个删除操作只是在前端删除了图片项,并没有在后端删除对应的图片文件,如果你需要在后端也删除对应的图片文件,你还需要在删除操作后发送一个请求到后端,让后端删除对应的图片文件。
331 0
|
Kubernetes 网络协议 应用服务中间件
k8s场景测试之ingresss中geoip的使用
Geo是geographic的缩写,意思是地理的,GeoIP即为IP地理位置数据库,可以根据IP获得地理位置信息。GeoLite2是GeoIP2的免费版本,与GeoIP2数据库相比准确性较差。 GeoIP库可以根据IP地址(支持IPv4 和 IPv6), 定位该IP所在的 洲、经纬度、国家、省市、ASN 等信息。
940 136
|
存储 运维 Prometheus
用这个开源项目,网络小白也能搞定容器网络问题排查
用这个开源项目,网络小白也能搞定容器网络问题排查
|
消息中间件 前端开发 Java
Java 最常见的面试题:rabbitmq 的使用场景有哪些?
Java 最常见的面试题:rabbitmq 的使用场景有哪些?
|
Kubernetes 网络协议 前端开发
k8s诊断之如何在ingress里面使用geoip2
某用户由于某些原因,需要在ACK上使用geoip2来限制国家级别的ip访问限制,如只允许中国访问,ingress 已经默认集成了geoip,但是geoip已经很久不维护了,信息不准确,因此促使了本篇文档的产生
1090 0