首页 > 教程攻略 > ai教程 >knative serving 0.7版本变更

knative serving 0.7版本变更

来源:互联网 时间:2026-08-07 07:33:07

前言

Knative Serving 0.7 版本已于 6 月 25 日正式上线。此次更新的核心在于加速 v1beta API 的落地,其中备受关注的 HPA 并发请求数扩缩容功能终于得以实现。需要留意的是,本次版本移除了一些过时字段,具体细节可参考下方的不兼容变更说明。下文将对 0.7 版本的主要变更进行详细梳理。

knative serving 0.7版本变更

概览

serving.knative.dev/v1beta1(因为#4533,需要 K8s 1.14 )

在0.6扩展了 v1alpha1API 包含 v1beta1的字段,在这次发布中,将 v1alpha1 的字段限制在 v1beta1 的子集内,并且不允许出现v1beta1 不适合的字段,这样,我们可以利用kubernetes 1.11 支持的相同模式来发布 v1beta1
因为k8s处理多个版本时存在bug,导致无法在旧版本编辑资源,目前是准备发布两个yaml,一个是只支持 v1alpha1,可以兼容k8s 1.11 ,另一个同时支持两个版本,需要k8s 1.14 。

HPA根据并发请求指标扩缩容

在之前的版本里,HPA主要还是基于 CPU 指标来做扩容;而这次发布之后,它已经可以像默认扩缩容组件那样,按照“并发请求数”这个指标来完成扩缩容。
不过有一点没变:HPA 依然不支持缩容到零。此外,还需要进一步把这类指标暴露出来,才能让任意扩缩容插件都用得上。
现在的实现思路是,由 autoscaler 去抓取用户容器的并发请求数指标,同时把 autoscaler 注册成一个 custom metrics api server,HPA 再通过这种方式读取指标,并据此执行扩缩容。

非root用户容器

因为安全原因,使用非root用户来启动,包括queue-proxy。

不兼容变更

去掉了之前过时的状态字段Service里面的Build和Manual模式现在不支持了Route tags默认生成的url生成方式改变

以下为各个组件的具体变更。

扩缩容

HPA支持根据自定义的并发请求数指标扩缩容根据pod的数量动态调整autoscaler抓取指标的样本数

Fixes:

增加autoscaler的readiness健康检查根据activator的扩缩容调整activator限速器行为Revision在达到最小副本数时才更改状态为ready

核心API

暴露 v1beta1 API#4199 容器中使用非root用户启动#3237 允许用户填写容器名称#4289支持projected volume#4079 删除过时的状态字段#4197Build不再支持#4099 Manual模式不再支持#4188 V1beta1 客户端和稳定性测试#4369旧的v1alpha1 schema 通过webhook转换#4080 queue-proxy新增annotation用于限制资源占用#4151Knative Sercice的annotation传递到Route和Configuration#4363,#4367

Fixes:

改进Ready/Generation的处理,如果底下资源还没有调和,更新状态非调和状态#4185 修复 Revision 回收#4187,#4245 把pod调度失败的错误信息写入Revision状态中#4191 解决无法拉取scheme1版本的镜像#4430

网络

把route的annotation传递到ClusterIngress#4087引入 tagTemplate 配置,支持定义版本的域名格式#4292支持自定义的子域名#4210允许定义最长请求超时时间#4172在请求中设置Forwardedheader#4376

Fixes:

不依赖istio sidecar支持短域名#3824 改进ClusterIngress状态#4288#4144 SKS private service 使用随机名称避免长度过长#4250

监控

设置zipkin pods的内存需求#4353 不需要fluentd sidecar收集/var/log日志#4156Prometheus抓取queue-proxy指标#4111

Fixes:

修复一些Grafana dashboard移除内置的jaeger-operator,把它变成依赖来使用

参考

内容来自官方 release notehttps://github.com/knative/serving/releases