Knative Serving release v0.14.0
Pre-releaseMeta
Monitoring Bundle is deprecated
We have made the decision to deprecate the bundled monitoring tools that have remained unchanged since 2018 due to a lack of community interest. We will stop releasing them in a coming release and will instead focus on documenting how to integrate with existing monitoring systems using OpenTelemetry.
V1 is now our storage version
We have included a new migration Job to migrate existing resources. See the serving-storage-version-migration.yaml release artifact.
Several new net-* repos!
- Our Istio integration has moved out of Serving and into knative/net-istio.
- Kourier has moved to knative/net-kourier.
- We have a new knative/net-http01 project for implementing auto-TLS.
We have NOT bumped our minimum Kubernetes dependency (still 1.15)
We were unable to bump our minimum Kubernetes dependency to 1.16 this release as planned due to its lack of availability in GKE (on which we have a hard dependency for CI/CD). The principle behind our choice of minimum upstream version remains the same, and users should expect future releases to attempt to “catch up”.
Autoscaling
- Disable metric scraping in situations where the activator is always in path for increased efficiency #7431 (thanks @dsimansk)
- Added a metric for measuring metric scraping overhead #7232 (thanks @rmoe)
- The “Metric” resource now surfaces potential errors in its status #7525 (thanks @markusthoemmes)
- Activator tracks revision public service endpoints to assign downstream pods #7208 (thanks @vagababov)
- Documented the internal autoscaling systems #7126 (thanks @markusthoemmes)
Cleanups and improvements (logging, metrics, config map, unit and e2e tests, etcs); many PRs (thanks @julz, @mgencur, @vagababov, @markusthoemmes)
Fixed various bugs
- Fixed races where a revision briefly scales below minScale only to immediately scale up again #7110, #7214 (thanks @tanzeeb)
- Fixed a bug where a revision would never become ready if minScale was set > 1 #7514 (thanks @markusthoemmes)
- Fixed a bug where request counts have been reported off by 1 on scale-from-0 #7109 (thanks @vagababov)
- Fixed potential panics around timeout handling in the queue-proxy #7138, #7146 (thanks @JRBANCEL)
- Fixed a rare race condition, where the activator would fail to schedule new , requests even though there is capacity in the system #7360 (thanks @markusthoemmes)
Core API
V1 is now our storage version #7204, #7499 (thanks @dprotaso)
After installing 0.14, a new migration Job must be run to migrate pre-existing resources, and remove v1alpha1 as a stored version from our CRDs.
Support for resolving AWS ECR images #7244 (thanks @mattmoor)
Fixes a long-standing issue where our tag resolutions does not work properly for AWS ECR.
Assorted Cleanups:
- Leader election config map cleaned up, defaulting is implemented, example verified as default values (thanks @vagababov)
Networking
Introducing knative/net-istio repository (thanks @mattmoor, @nghia, @tshafer):
Istio KIngress reconciler is now separated into its own repository knative/net-istio, enabling more focused testing on presubmits. In the future, Istio integration bugs should be filed to this new repository
Introducing knative/net-http01 repository (thanks @mattmoor):
knative/net-http01 is a simple standalone ACME HTTP01 solver for the Knative Certificate abstraction.
Introducing knative/net-kourier repository (thanks @dortiz, @jmprussi):
A new home for Kourier - a lightweight Envoy-based Knative Ingress reconciler previously hosted at https://github.com/3scale/kourier.
Support Istio canonical service and revision #6832 (thanks @tshafer):
Adding Istio canonical service labels (istio/istio#20943) to Knative objects for better integration with Istio UX.
Use /healthz
for probe path for easier whitelisting #5918 (thanks itsmurugappa, shreejad)
We changed our probe path from /_internal/knative/activator/probe to /healthz and made that consistent across all probe receivers in Knative Serving.
Best effort Istio probing #6962 (thanks JRBANCEL)
Any scenario where probing would fail forever with the current implementation is now treated as a successful probing, to allow failing-open in cases where users use a 3-legged-oauth setup that would cause probing to fail indefinitely.
Generated VirtualService contains wrong gateways field knative-extensions/net-istio#44 (thanks @yanniszark)
Previously, we sometimes referred to unused Gateways in a VirtualService. That caused issues with Istio validation logic if those unused Gateways were non-existent. Unused Gateways are no longer referred from VirtualServices.
Assorted cleanups:
- Remove usages of deprecated field VirtualService.WebsocketUpgrade knative-extensions/net-istio#53 (thanks @nak3)
- Networking ConfigMap cleaned up, example verified as defaults and Go templates are cached, rather than parsed on every invocation #7403, #7408, #7395 (thanks @vagababov)