Meta
initialScale annotation to control the initial deployment size
There is a new annotation that can be used to control the number of pods that are initially deployed when new Revisions are rolled out.
net-contour and net-kourier have moved to Beta
In addition to net-istio, we now have three networking layers that we classify as (at least) Beta.
Kubernetes minimum version has NOT changed
It remains 1.16, but we may bump to 1.17 in the coming release depending on its availability for qualification testing (per our release principles).
Autoscaling
- Launched the initial scale with possibility of starting with 0 (thanks @taragu) [#8613, #8846]
- Launched new KPA statuses, which permit significant simplification of the state machine in revision and KPA itself:
- Initial scale reached (thanks @markusthoemmes & @taragu)
- SKS ready (thanks @vagababov)
- Concurrency & stat reporting rewrite in Activator (thanks @markusthoemmes) [#8787, #8796 ]
- Configurable idle conns/conns per host (thanks @vagababov & @julz) [#8810, #9027]
- Optimize pod counting in KPA (3 passes over pods to 1) (thanks @vagababov) [#8759, #8762]
- Tricky optimization of returned lambda in activator saving 16b allocations per every request in activator (thanks @julz) (#8851)
- Lots of new benchmarks thanks [@julz & @markusthoemmes]
- Various cleanups, test stability, code optimizations, etc [thanks @julz, @markusthoemmes, @vagababov, @skonto]
Core API
- Leader Election enabled by default (thanks @mattmoor)
- By default control plane components now enable leader election, which can be disabled (for now) with
--disable-ha
.
- By default control plane components now enable leader election, which can be disabled (for now) with
- New feature flags are now available - see config-features for details
- Enable affinity, nodeSelector and tolerations. #8645 (thanks @emaildanwilson)
- Enable additional container & pod security context attributes. #9060 (thanks @dprotaso)
- Adopt a two-lane work queue for our controllers to prevent starvation during global re-syncs knative/pkg#1512 (thanks @vagababov)
- Add config knob "max-value," which allows for setting a cluster-wide value for the max scale of any revision that doesn't have the "autoscaling.knative.dev/maxScale" annotation. #8951 (thanks @arturenault)
- Adds a 60 second timeout for image digest resolution to guard against slow registries #8724 (thanks @julz)
- Implemented new garbage collector that allows for either time-based or min/max count bounds for automatic deletion of old revisions. #8621 (thanks @whaught)
- To enable this a new v2 Labeler populates RoutingState and RoutingStateModified annotations on Revisions
- PodSpec DryRun also validates unparented (service-less) Configurations. #8828 (thanks @whaught)
- Users can specify the size of the initial deployment with both cluster-wide flag initial-scale, and annotation "autoscaling.internal.knative.dev/initialScale". Cluster-wide flag allow-zero-initial-scale controls whether the cluster-wide and revision initial scale can be zero. #8846, (thanks @taragu)
- When enabled, the ResponsiveGC feature flag disables lastPinned annotation timestamp refreshes #8757 (thanks @whaught)
- Added a workaround so Knative will work on AKS 1.17+ knative/pkg#1592 (thanks @n3wscott)
- Webhooks now drain for longer when shutting down knative/pkg#1517 (thanks @mattmoor)
Networking
- Net-contour is moved to Beta stage knative/docs#2737 (thanks @mattmoor)
- Net-kourier is moved to Beta stage knative/docs#2738 (thanks @mattmoor)
- The default Kingress timeout is increased to 48 hours to prevent gRPC stream timeout #8965 (thanks @tcnghia)
- Code in knative/serving/pkg/network is completely moved to knative/networking repo (thanks @tcnghia)
- Placeholder service's labels and annotations are propagated from Route. #8798 (thanks @nak3)
- When auto TLS is enabled, now net-istio controller generates Istio TLS Gateway per Kingress instead of reconciling the knative-ingress-gateway Gateway knative-sandbox/net-istio#170 (thanks @ZhiminXiang)
- Kingress (net-istio) introduces RewriteHost feature knative-sandbox/net-istio#174 (thanks @julz)
- Kingress prober improvement for net-istio: probing a single host instead of every host to improve the throughput of the prober queue knative-sandbox/net-istio#190 (thanks @JRBANCEL)