天天看點

Knative Serving 0.9 版本變更前言主要變更擴縮容核心API網絡來源

前言

Knative Serving 0.9版本在9月17日已經釋出,這是Serving v1正式版的第二個候選版本,目前還在和社群讨論Serving在限制條件下如何生産可用,還有怎樣協調剩下的部分。

主要變更

v1 API

v1 API模型在這個版本已經可以使用了,但是由于k8s最低版本的限制,可以隻部署v1alpha1 endpoint或者所有endpoint(v1alpha1, v1beta1, and v1)。v1 API的模型在所有的endpoint上都可以使用,如果要使用v1beta1/v1 endpoint,需要k8s最低版本為1.14。

minScale 現在隻應用到可路由的Revision

現在autoscaling.knative.dev/miniScale隻會應用到和Route有關聯的Rrevision,這樣解決了使用者使用minScale的一個痛點,沒有路由的Revision pod一直保留最小副本數,要等10個小時才會被回收。

冷啟動改進  #4902  and  #3885

kube-proxy有個參數iptables-min-sync-period,用來控制iptable重新整理時間,如果使用了kube-proxy,ClusterIP生效的時間受限于它。

當ClusterIP還沒準備好,Activator 現在會直接通過Pod ip發送,這個修改使得在pod ready後,請求延遲縮短到200毫秒左右,對比之前最高達到10秒。

擴縮容

  • 支援RPS(每秒請求數)自動擴縮容,更适合一些短時間和輕量的請求。  #3416
  • 之前隻針對擴容有速率的限制,現在增加配置項max-scale-down-rate用于控制縮容速率。 #4993
  • Autoscaler沒有更新metric service  #5291
  • SKS在Autoscaler重新開機後,變成Serve模式  #5327
  • 修複 Activator 縮容導緻503錯誤  #5364
  • TBC 預設值改為200
  • PA 在狀态中展示想要的和實際的pod數量
  • 持續的性能測試 https://mako.dev

核心API

  • Webhook現在會校驗annotation  #4995
  • Revisions 增加 

    service.knative.dev/route

     标簽  #5048
  • Revision GC 重構,從Configuration移到單獨的controller  #4876
  • Revision狀态展示Deployment的錯誤資訊  #5077
  • 校驗VolumeSources和VolumeProjections  #5128
  • ContainerConcurrecy 可以配置預設值  #5099
  • 應用 Route的标簽到Ingress  #5467
  • global resyncs性能改進,避免一次性加入所有資源  #5275
  • 改進readiness probes的錯誤資訊  #5385

網絡

  • 關閉和删除 ClusterIngress 資源  #5024

來源

文章來自于 knative/serving github release note 的翻譯和解讀

繼續閱讀