解读Knative 0.17.0版本特性

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Knative 0.17.0 版本已于近期发布,对于 Knative v0.17.0 版本新特性,我们进行解读,让大家对 Knative 新版本快速了解。

前言

Knative 0.17.0 版本已于近期发布,对于 Knative v0.17.0 版本新特性,我们进行解读,让大家对 Knative 新版本快速了解。
Knative 0.17.0 支持 k8s 最小支持版本为:1.16。

Serving

Autoscaling-自动扩缩容

  • 1)支持Revision初始POD数设置
    在0.17.0之前的版本中,创建新的Revision(即使新Revision流量比例为0)默认会先创建出 1 个POD实例,新的POD创建完成之后,如果没有流量,缩容为 0。 其实大多数场景下,新的Revision创建完成之后不需要立刻创建出POD。从0.17.0开始引入 inital scale 参数,可以指定新的 Revision 为 0。

inital scale 参数可以通过注释设置:

autoscaling.internal.knative.dev/initialScale

核心 API

组件HA高可用支持

从0.17.0版本开始,默认开启组件HA,可以通过配置参数‘--disable-ha’ 关闭HA。

Knative Service 特性支持

  • 1) 对 affinity, nodeSelector, tolerations 和 securitycontext 进行了支持。对于该特性的支持比较意外,因为该特性很早就被提出过,但开始的社区的反馈是 serverless(no server) 场景下不应该关心节点的调度。目前来看结合实际的使用需求场景,最终社区做出了妥协。
  • 2) 新增全局最大扩容Pod配置参数max-value,当没有设置autoscaling.knative.dev/maxScale值时,使用该全局配置作为最大扩容Pod。
  • 3) 优化 Revision 版本回收机制。新增Revision版本最大数maximum限制,同时支持禁用基于时间的Revision回收策略。

Networking-网络

KIngress

  • 1)最大超时设置。对于gRPC stream处理超时的问题,默认超时时间调整为了48小时。
  • 2)支持域名重写(RewriteHost)。通过该特性可以实现自定义域名。以Istio实现为例,自定义域名‘vanity.com’通过‘rewrite’实现重定向。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vanity-ingress
spec:
  gateways:
  - knative-serving/knative-ingress-gateway
  hosts:
  - vanity.com
  http:
  - match:
    - authority:
        prefix: vanity.com
      gateways:
      - knative-serving/knative-ingress-gateway
    rewrite:
      authority: helloworld-go.default.example.com
    route:
    - destination:
        host: cluster-local-gateway.istio-system.svc.cluster.local
        port:
          number: 80

Eventing

PingSource优化

0.17.0版本 PingSource 支持时区(time zone)设置

事件处理优化

在 In Memory Channel 和 Multi-Tenant Channel 中发送事件失败时,支持重试机制。

总结

Knative 0.17.0 版本中引入了版本初始化实例数设置以及对节点调度参数的支持(nodeSelector etc.), 表明Knative社区会更多的关注实际应用场景,相信后续有更多实用特性会提供出来。欢迎有兴趣的同学一起交流。

欢迎加入 Knative 交流群

image.png

目录
相关文章
|
7月前
|
Prometheus Cloud Native 调度
Sentinel 新版本发布,提升配置灵活性以及可观测配套
Sentinel 新版本发布,提升配置灵活性以及可观测配套
1047 12
|
运维 Kubernetes Cloud Native
OpenKruise V1.4 版本解读:新增 Job Sidecar Terminator 能力
OpenKruise V1.4 版本解读:新增 Job Sidecar Terminator 能力
|
JSON Kubernetes Cloud Native
OpenKruise v1.3:新增自定义 Pod Probe 探针能力与大规模集群性能显著提升
在版本 v1.3 中,OpenKruise 提供了新的 CRD 资源 PodProbeMarker,改善了大规模集群的一些性能问题,Advanced DaemonSet 支持镜像预热,以及 CloneSet、WorkloadSpread、Advanced CronJob、SidecarSet 一些新的特性。
|
存储 缓存 Kubernetes
与 Kubernetes 共存:集群升级的4种方式
与 Kubernetes 共存:集群升级的4种方式
621 0
与 Kubernetes 共存:集群升级的4种方式
|
存储 Kubernetes API
Kubernetes CRD多版本与升级机制
介绍 在K8s世界,CRD就像是api定义,CRD配套的Operator则是对应的api实现,在系统迭代过程中api会不断的发展,同样的,CRD也会不断的发展,v1alpha1 -> v1alpha2 -> v1beta1 -> v1 -> v2alpha2...,如何在K8s里面让用户轻易得地从低版本升级到高版本是一个十分通用的问题,而正好K8s CRD提供了引入并升
|
Kubernetes Serverless API
解读Knative 0.16.0版本特性
Knative 0.16.0 版本已于近期发布,针对 Knative v0.16.0 版本对这些新功能特性进行解读,让你快速对新版本特性有所深入了解。
1395 0
解读Knative 0.16.0版本特性
|
Kubernetes 负载均衡 网络协议
解读 Knative Serving v0.15.0 版本特性
Knative 0.15.0 版本已于近期发布,针对 Knative Serving v0.15.0 版本对这些新功能特性进行解读,让你快速对新版本特性有所深入了解。
1686 0
|
消息中间件 Kafka API
解读 Knative Eventing v0.14.0 版本特性
Knative Eventing v0.14.0 版本已于近期发布,新版本带来了哪些特性呢?本文会进行相关的解读
1503 0
|
Prometheus Kubernetes Cloud Native
解读 Knative v0.13.0版本特性
Knative Eventing v0.13.0 发布了,猜一下这个版本有没有惊喜特性,本文给你带来解读。
1873 0
|
Kubernetes API 容器
解读 Knative Eventing v0.12.0 新特性
本文针对 Knative Eventing v0.12.0 版本新功能特性进行解读,让你快速对 v0.12.0 版本有所了解。
1136 0