前言
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 增加
标簽 #5048service.knative.dev/route
- 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 的翻譯和解讀