Knative Serving 0.14.0 版本变更

前言

Knative Serving在4月14日发布,这个版本正式把v1作为存储版本,把网络相关的集成移出到外部的仓库,还有就是一些扩缩容的改进。

概要

不再捆绑监控套件

我们决定不再捆绑监控套件,因为缺少社区其他人的兴趣,在2018年后就没更新过了。在接下来的版本中会停止发布,改为编写文档如何使用OpenTelemetry集成现有的监控系统。

切换存储版本(storage version)为V1

我们包含了一个迁移job帮助迁移现有的资源,具体看serving-storage-version-migration.yaml。

多个 net-* 仓库

  • 我们的Istio集成已经移出serving到knative/net-istio
  • Kourier移出到knative/net-kourier
  • 有一个新的knative/net-http01项目用于实现auto-TLS

最低k8s版本依然保持1.15

因为GKE的依赖(CI/CD),没有按计划升级k8s版本到1.16。

扩缩容

  • 在activator总是在链路的时候关闭指标抓取,提高效率 #7431 (thanks @dsimansk)
  • 增加指标用于评估指标抓取的开销 #7232 (thanks @rmoe)
  • “Metric”资源现在把潜在的错误信息也放在status里 #7525 (thanks @markusthoemmes)
  • Activator跟踪revision public service的endpoint,用于分配下游的pod #7208 (thanks @vagababov)
  • 更新扩缩容文档 #7126 (thanks @markusthoemmes)

解决多个bugs

  • 解决一个短暂的缩容低于minScale又马上扩容的bug #7110, #7214 (thanks @tanzeeb)
  • 解决一个当设置minScale > 1时,revision永远不会变成ready的问题 #7514 (thanks @markusthoemmes)
  • 解决request计数重复计算的问题#7109 (thanks @vagababov)
  • 解决在queue-proxy处理超时,有可能奔溃的问题 #7138, #7146 (thanks @JRBANCEL)
  • 解决一个罕见的竞争条件,activator有可能不能处理新请求,即使还有容量 #7360 (thanks @markusthoemmes)

核心 API

支持解析 AWS ECR 镜像 #7244 (thanks @mattmoor)

解决一个长期存在的问题,tag解析不支持AWS ECR。

网络

支持 Istio canonical service 和 revision #6832 (thanks @tshafer):

为了更好的Istio体验,添加 Istio canonical service 标签 (istio/istio#20943) 到Knative对象。

使用 /healthz 作为健康检查路径 #5918 (thanks itsmurugappa, shreejad)

改变健康检查路径从/_internal/knative/activator/probe改为/healthz,保持和其他的一致。

尽可能的 Istio 探测 #6962 (thanks JRBANCEL)

生成 VirtualService 包含错误的 gateways 字段 knative/net-istio#44 (thanks @yanniszark)

参考

官方release note翻译