Knative Serving 0.13.0 版本变更

简介:

前言

knative在2020年3月4日发布,这个版本开始使用v1 API了,如果我们也有类似api版本如何升级的需求,可以参考下knative是如何实现的。

概要

Kubernetes 最小版本保持 1.15

这个是从0.12开始就没改变过了,但是,在我们使用了转换webhook(Conversion webhook)之后,不能随意更改版本了,下次发布依赖K8s最低版本为1.16

Alpha和Beta的API标记为过时

现在v1 API现在在所有支持的版本都可以使用,并且controller现在开始使用v1 API。旧的API会支持9个月,在0.19版本的时候移除。

我们现在依赖CRD转换webhook

我们使用了k8s 1.15版本的一个beta功能来转换v1alpha1, v1beta1, and v1 资源。

自动扩缩容

  • activator对没有ready的pods进行健康检查后转发流量(尽早做健康检查) #6695
  • gRPC e2e 扩缩容测试 #6778
  • 不再限制最小target为1 #6951
  • 计算扩缩容指标时忽略年轻的pod指标(一分钟内),但如果样本不够的话还是会使用 #6649, #6626

核心API

  • 重构controller,使用生成的代码,简化controller的编写 #6993 #6973 #6969 #6952
  • 移除serving的指标汇报(stats reporter),因为里面的指标没意义 #6939
  • Webhook 自动轮回证书 knative/pkg#1101
  • 修复校验webhook没有使用默认值的问题 #6938
  • 开始把 v1alpha1 API 标记为过时,包括以下资源 Service, Configuration, Revision 和 Route

    • controllers使用v1 APIs #6933 #6949 #6950 #6957 #6958 #6959 #6960
    • 版本转换webhook框架knative/pkg#993
    • 注意: v1alpha1会依然是存储版本(storage version)直到我们提供怎么把存储版本迁移为 v1 #6726
    • 计划在0.19版本移除v1alpha1 和 v1beta1 APIs
    • HPA 自动扩缩容的Revision指标(并发和每秒请求数) 现在使用 v1 APIs #6957

      • 消费v1alpha1的revision指标已经过时,将在下一个版本移除

网络

  • 在配置config-network里的 istio.sidecar.includeOutboundIPRanges 标记为过时 #6597
  • 避免在删除Gateway的时候,无条件的调和 #6934
  • 移除证书的class名称 "internal" #6887
  • 修复错误的Revision被标记为最后可用的Revision #6876
  • 解决流量健康检查状态转变的问题 Ready -> NotReady- > Ready #6648
  • 在从Istio转到其他网络的时候,清除掉VirtualService #6570
  • 避免在Certificate汇报Ready之前指定IngressTLS#6870
  • queue-proxy 在连接超时的时候返回 504 错误 #6859
  • Service的Namespace必须和KIngress的保持一致 #6868
  • 解决 Route 命名冲突的问题 #6362 (thanks @sreddy)
  • 对于集群内的规则和外部规则,Route需要分开调和 #6727
  • 正确设置网络检查的User-Agent #6644

来源

对knative realease note的翻译和解读

目录
相关文章
|
开发者 Docker 容器
DockerFile的ADD和COPY的区别
DockerFile的ADD和COPY的区别
5114 0
Maven之阿里云镜像仓库配置
方式一:全局配置可以添加阿里云的镜像到maven的setting.xml配置中,这样就不需要每次在pom中,添加镜像仓库的配置,在mirrors节点下面添加子节点: <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.
|
消息中间件 Java Spring
RabbitMQ重试机制
RabbitMQ重试机制
612 4
|
Ubuntu Linux Shell
树莓派ubuntu镜像备份详细教程
本文是关于树莓派Ubuntu镜像备份的详细教程,包括如何获取镜像、使用PiShrink工具减小镜像体积的步骤和命令,以及相关参数的说明。
500 0
|
Java Maven
Maven自用配置文件(settings.xml)
Maven自用配置文件(settings.xml)
3104 0
|
Java Maven
Maven: settings.xml、pom.xml完整配置
Maven: settings.xml、pom.xml完整配置
2428 0
|
Python
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
1709 0
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
|
运维 Ubuntu JavaScript
【Linux | 学习路线分享】
【Linux | 学习路线分享】
372 0
【Linux | 学习路线分享】
|
消息中间件 负载均衡 测试技术
测试环境建设原则和管理实践
测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据等的总称,即够支持完成测试工作所需要的软件和硬件。测试环境是测试活动的基础,正确模拟生产环境,稳定支持测试活动是测试环境的基本要求。稳定可控的测试环境能够提升测试工程师的测试工作效率,测试工程师无需花费过多的时间维护测试环境的稳定、测试数据的合理等工作上。测试工程师只需正确执行测试用例(这里既包含了自动化测试用例也包含手工测试用例)就可以稳定复现测试过程。
1319 0
测试环境建设原则和管理实践