serving

Kubernetes-based, scale-to-zero, request-driven compute

APACHE-2.0 License

Stars
5.3K
Committers
296

Bot releases are visible (Hide)

serving - Knative Serving release v0.22.0

Published by knative-prow-releaser-robot over 3 years ago

πŸ’« New Features & Changes

  • Added an autoscaling annotation to choose a different aggregation algorithm for the autoscaling metrics. This is experimental currently. (#10840, @vagababov)
  • Added autocreateClusterDomainClaims flag to network config map. (networking#330, @julz)

🐞 Bug Fixes

  • Adds validation that a default max-scale is set if a max-scale-limit is specified in the autoscaler configmap (since otherwise the default max-scale, i.e. 0 = no max, would fail validation as it is above the max-scale-limit). (#10921, @julz)
  • Bumped the resource request and limits of the autoscaler to 100m/100Mi, 1000m/1000Mi respectively. (#10865, @markusthoemmes)
  • Fixed a regression where the pod bringup time might have a latency of 10s or more even though the container should be up quickly. (#10992, @markusthoemmes)
  • Reduced the necessary memory allocations in the activator significantly, especially with disabled tracing. (#11016, #11013, #11009, #11008, @markusthoemmes)
  • Fix the incorrect Gateway name format for DomainMapping auto TLS feature for net-istio implmenetation. (net-istio#532, @ZhiminXiang)

Dependencies

Added

Nothing has changed.

Changed

  • github.com/google/go-cmp: v0.5.4 β†’ v0.5.5
  • github.com/prometheus/common: v0.15.0 β†’ v0.19.0
  • go.opencensus.io: v0.22.6 β†’ v0.23.0
  • google.golang.org/grpc: v1.35.0 β†’ v1.36.0
  • knative.dev/caching: 1212288 β†’ 5691bb3
  • knative.dev/hack: 8368e1f β†’ b6ab329
  • knative.dev/networking: 088986a β†’ 999a770
  • knative.dev/pkg: 84c98f3 β†’ 952fdd9

Removed

Nothing has changed.

serving - Knative Serving release v0.21.0

Published by knative-prow-releaser-robot over 3 years ago

🚨 Breaking or Notable

πŸ’« New Features & Changes

  • Introduces autocreateClusterDomainClaim in config-network config map. This allows DomainMappings to be safely used in shared clusters by disabling automatic ClusterDomainClaim creation. With this option set to "false", cluster administrators must explicitly delegate domain names to namespaces by creating a ClusterDomainClaim with an appropriate spec.Namespace set. (#10537, @julz)
  • Domain mappings disallow mapping from cluster local domain names (generally domains under "cluster.local") (#10798, @julz)
  • Allow setting ReadOnlyRootFilesystem on the container's SecurityContext (#10560, @senthilnathan)
  • A container's readiness probe FailureThreshold & TimeoutSeconds are now defaulted to 3 and 1 respectively when a user opts into non-aggressive probing (ie. PeriodTimeout > 1) (#10700, @shinigambit)
  • Avoids implicitly adding an "Accept-Encoding: gzip" header to proxied requests if one was not already present. (#10691, @julz)
  • Gradual Rollout is possible to set on individual Revisions usingserving.knative.dev/rolloutDuration annotation, (#10561, @vagababov et al.)
  • Support Istio 1.9 (knative-sandbox/net-istio#515, @arturenault)
  • Support Contour 1.12 (knative-sandbox/net-contour#414, @mattmoor)

🐞 Bug Fixes

  • Fixes problem with domainmapping when working with auto-tls and kourier challenge
  • Fixed a bug where the activator's metrics could get stuck and thus scale to and from zero didn't work as expected. (#10729, @markusthoemmes)
  • Fixes a race in Queue Proxy drain logic that could, in a very unlikely edge case, lead to the pre-stop hook not exiting even though draining has finished (#10781, @julz)
  • Avoid slow out-of-memory issue related to metrics (knative/pkg#2005, @skonto)
  • Stop reporting reflector metrics since they were removed upstream (knative/pkg#2020, @skonto)

Dependencies

Added

  • github.com/containerd/stargz-snapshotter/estargz: a9a0c2d
  • github.com/gobuffalo/flect: v0.2.2
  • github.com/google/go-containerregistry/pkg/authn/k8schain: 5c4818d
  • github.com/jmespath/go-jmespath/internal/testify: v1.5.1
  • github.com/josharian/intern: v1.0.0
  • github.com/moby/term: 672ec06
  • github.com/stoewer/go-strcase: v1.2.0
  • gotest.tools/v3: v3.0.2
  • sigs.k8s.io/structured-merge-diff/v4: v4.0.2

Changed

Removed

  • github.com/coreos/go-etcd: v2.0.0+incompatible
  • github.com/cpuguy83/go-md2man: v1.0.10
  • github.com/gobuffalo/envy: v1.7.1
  • github.com/jessevdk/go-flags: v1.4.0
  • github.com/joho/godotenv: v1.3.0
  • github.com/markbates/inflect: v1.0.4
  • github.com/opencontainers/runc: v0.1.1
  • github.com/russross/blackfriday: v1.5.2
  • github.com/ugorji/go/codec: d75b2dc
  • sigs.k8s.io/structured-merge-diff/v2: v2.0.1
  • sigs.k8s.io/structured-merge-diff/v3: 43c19bb
  • sigs.k8s.io/structured-merge-diff: 15d366b
serving - Knative Serving release v0.20.1

Published by knative-prow-releaser-robot over 3 years ago

🚨 Breaking

  • Validate DomainMapping name if it is fully qualified. (#10379, @nak3)
  • Remove the GC feature flag and v1 GC/Labeler (#10084, @whaught)
  • Removes webhook name from code and set webhook name in webhook deployment yaml using key WEBHOOK_NAME (#10205, @arghya88)

πŸ’« New Features & Changes

  • A feature flag is now available to enable hostAliases for Knative Services. See config-features for details. (#10301, @emaildanwilson)
  • Add AutoTLS support for DomainMapping (#10467, @tcnghia)
  • DomainMappings now support arbitrary target references, rather than only Knative Services. The target must conform to the Addressable contract (including Kubernetes Services), and the resolved URI must be of the form {name}.{namespace}.svc.{cluster-suffix}. (#10210, @julz)
  • Introduce serving.knative.dev/domainmapping label for Ingress generated by DomainMapping. (#10370, @nak3)
  • Leader election transition improvements (#10131, @dprotaso)
  • Profiling port is now configurable via the env var PROFILING_PORT (knative/pkg#1950, @mattmoor)
  • Gradual traffic rollout of the configuration targets is now available in Knative. Right now it is driven by the rolloutDuration entry in the config-network configmap. When positive this setting will move the traffic gradually from the previous to the current revision over this period of time. It can handle several rollouts at the same time in three dimensions:
    • different tags can be rolled out independently if they are pointing at different configs
    • diferent percentages for the same configuration target will roll out at different speeds (but will finish around the same deadline)
    • if new revisions were created while previous rollouts have not yet finished, the system will drain them and move everything to the newest revision.

🐞 Bug Fixes

  • Changes how ClusterDomainClaims are cleaned up when DomainMappings are removed. (#10503, @julz)
  • Enables connection reuse between activator probe and proxy to improve first request performance after cold starts (#10228, @julz)
  • Webhooks won't remove namespace selectors added by other components (knative/pkg#1949, @markusthoemmes)

Dependencies

Added

  • github.com/blendle/zapdriver: v1.3.1
  • github.com/remyoudompheng/bigfft: 52369c6
  • golang.org/x/term: 7de9c90
  • modernc.org/cc: v1.0.0
  • modernc.org/golex: v1.0.0
  • modernc.org/mathutil: v1.0.0
  • modernc.org/strutil: v1.0.0
  • modernc.org/xc: v1.0.0
  • sigs.k8s.io/structured-merge-diff/v2: v2.0.1
  • sigs.k8s.io/structured-merge-diff: 15d366b

Changed

  • cloud.google.com/go: v0.65.0 β†’ v0.72.0
  • github.com/cncf/udpa/go: 269d4d4 β†’ efcf912
  • github.com/envoyproxy/go-control-plane: v0.9.4 β†’ v0.9.7
  • github.com/evanphx/json-patch: v4.5.0+incompatible β†’ v4.9.0+incompatible
  • github.com/google/go-cmp: v0.5.2 β†’ v0.5.4
  • github.com/google/go-containerregistry: v0.1.4 β†’ v0.2.1
  • github.com/google/martian/v3: v3.0.0 β†’ v3.1.0
  • github.com/google/pprof: 1a94d86 β†’ 3e6fc7f
  • github.com/ianlancetaylor/demangle: 5e5cf60 β†’ 28f6c0f
  • github.com/prometheus/common: v0.14.0 β†’ v0.15.0
  • golang.org/x/net: 62affa3 β†’ ac852fb
  • golang.org/x/oauth2: 5d25da1 β†’ 08078c5
  • golang.org/x/sync: 67f06af β†’ 09787c9
  • golang.org/x/sys: e3ed001 β†’ ef89a24
  • golang.org/x/text: v0.3.3 β†’ v0.3.4
  • golang.org/x/tools: c9a70fc β†’ d93e913
  • gonum.org/v1/gonum: 3f7ecaa β†’ 3d26580
  • gonum.org/v1/netlib: ec6d1f5 β†’ 7672324
  • google.golang.org/api: v0.34.0 β†’ v0.36.0
  • google.golang.org/appengine: v1.6.6 β†’ v1.6.7
  • google.golang.org/genproto: 0bd0a95 β†’ 40ec1c2
  • google.golang.org/grpc: v1.33.1 β†’ v1.34.0
  • k8s.io/api: v0.18.8 β†’ v0.18.12
  • k8s.io/apiextensions-apiserver: v0.18.8 β†’ v0.18.12
  • k8s.io/apimachinery: v0.18.8 β†’ v0.18.12
  • k8s.io/apiserver: v0.18.8 β†’ v0.18.12
  • k8s.io/client-go: v0.18.8 β†’ v0.18.12
  • k8s.io/code-generator: v0.18.8 β†’ v0.18.12
  • k8s.io/component-base: v0.18.8 β†’ v0.18.12
  • k8s.io/kube-openapi: 61e04a5 β†’ bcb3869
  • knative.dev/caching: 1a30592 β†’ 1ee4750
  • knative.dev/hack: 3d5abc3 β†’ 4ed1ecb
  • knative.dev/networking: b9f80f4 β†’ ecb89ce
  • knative.dev/pkg: 5514ab0 β†’ 51c72e2
serving - Knative Serving release v0.20.0

Published by knative-prow-releaser-robot almost 4 years ago

🚨 Breaking

  • Validate DomainMapping name if it is fully qualified. (#10379, @nak3)
  • Remove the GC feature flag and v1 GC/Labeler (#10084, @whaught)
  • Removes webhook name from code and set webhook name in webhook deployment yaml using key WEBHOOK_NAME (#10205, @arghya88)

πŸ’« New Features & Changes

  • A feature flag is now available to enable hostAliases for Knative Services. See config-features for details. (#10301, @emaildanwilson)
  • Add AutoTLS support for DomainMapping (#10467, @tcnghia)
  • DomainMappings now support arbitrary target references, rather than only Knative Services. The target must conform to the Addressable contract (including Kubernetes Services), and the resolved URI must be of the form {name}.{namespace}.svc.{cluster-suffix}. (#10210, @julz)
  • Introduce serving.knative.dev/domainmapping label for Ingress generated by DomainMapping. (#10370, @nak3)
  • Leader election transition improvements (#10131, @dprotaso)
  • Profiling port is now configurable via the env var PROFILING_PORT (knative/pkg#1950, @mattmoor)
  • Gradual traffic rollout of the configuration targets is now available in Knative. Right now it is driven by the rolloutDuration entry in the config-network configmap. When positive this setting will move the traffic gradually from the previous to the current revision over this period of time. It can handle several rollouts at the same time in three dimensions:
    • different tags can be rolled out independently if they are pointing at different configs
    • diferent percentages for the same configuration target will roll out at different speeds (but will finish around the same deadline)
    • if new revisions were created while previous rollouts have not yet finished, the system will drain them and move everything to the newest revision.

🐞 Bug Fixes

  • Changes how ClusterDomainClaims are cleaned up when DomainMappings are removed. (#10503, @julz)
  • Enables connection reuse between activator probe and proxy to improve first request performance after cold starts (#10228, @julz)
  • Webhooks won't remove namespace selectors added by other components (knative/pkg#1949, @markusthoemmes)

Dependencies

Added

  • github.com/blendle/zapdriver: v1.3.1
  • github.com/remyoudompheng/bigfft: 52369c6
  • golang.org/x/term: 7de9c90
  • modernc.org/cc: v1.0.0
  • modernc.org/golex: v1.0.0
  • modernc.org/mathutil: v1.0.0
  • modernc.org/strutil: v1.0.0
  • modernc.org/xc: v1.0.0
  • sigs.k8s.io/structured-merge-diff/v2: v2.0.1
  • sigs.k8s.io/structured-merge-diff: 15d366b

Changed

  • cloud.google.com/go: v0.65.0 β†’ v0.72.0
  • github.com/cncf/udpa/go: 269d4d4 β†’ efcf912
  • github.com/envoyproxy/go-control-plane: v0.9.4 β†’ v0.9.7
  • github.com/evanphx/json-patch: v4.5.0+incompatible β†’ v4.9.0+incompatible
  • github.com/google/go-cmp: v0.5.2 β†’ v0.5.4
  • github.com/google/go-containerregistry: v0.1.4 β†’ v0.2.1
  • github.com/google/martian/v3: v3.0.0 β†’ v3.1.0
  • github.com/google/pprof: 1a94d86 β†’ 3e6fc7f
  • github.com/ianlancetaylor/demangle: 5e5cf60 β†’ 28f6c0f
  • github.com/prometheus/common: v0.14.0 β†’ v0.15.0
  • golang.org/x/net: 62affa3 β†’ ac852fb
  • golang.org/x/oauth2: 5d25da1 β†’ 08078c5
  • golang.org/x/sync: 67f06af β†’ 09787c9
  • golang.org/x/sys: e3ed001 β†’ ef89a24
  • golang.org/x/text: v0.3.3 β†’ v0.3.4
  • golang.org/x/tools: c9a70fc β†’ d93e913
  • gonum.org/v1/gonum: 3f7ecaa β†’ 3d26580
  • gonum.org/v1/netlib: ec6d1f5 β†’ 7672324
  • google.golang.org/api: v0.34.0 β†’ v0.36.0
  • google.golang.org/appengine: v1.6.6 β†’ v1.6.7
  • google.golang.org/genproto: 0bd0a95 β†’ 40ec1c2
  • google.golang.org/grpc: v1.33.1 β†’ v1.34.0
  • k8s.io/api: v0.18.8 β†’ v0.18.12
  • k8s.io/apiextensions-apiserver: v0.18.8 β†’ v0.18.12
  • k8s.io/apimachinery: v0.18.8 β†’ v0.18.12
  • k8s.io/apiserver: v0.18.8 β†’ v0.18.12
  • k8s.io/client-go: v0.18.8 β†’ v0.18.12
  • k8s.io/code-generator: v0.18.8 β†’ v0.18.12
  • k8s.io/component-base: v0.18.8 β†’ v0.18.12
  • k8s.io/kube-openapi: 61e04a5 β†’ bcb3869
  • knative.dev/caching: 1a30592 β†’ 1ee4750
  • knative.dev/hack: 3d5abc3 β†’ 4ed1ecb
  • knative.dev/networking: b9f80f4 β†’ ecb89ce
  • knative.dev/pkg: 5514ab0 β†’ 51c72e2
serving - Knative Serving release v0.18.3

Published by knative-prow-releaser-robot almost 4 years ago

Meta

Serving v1alpha1 & v1beta1 will EOL in our next release (v0.19)

  • This applies to the resources: Service, Route, Revision, Configuration
  • You will want to migrate your storage version for these resources to v1 using our post-install job

Monitoring Bundle is deprecated

This bundle was deprecated in our 0.14 release and will be removed in our next release

Kubernetes minimum version has changed to v1.17

net-contour has moved to stable status

GitHub Actions FTW

  • faster, varied and easier to support: linting, vetting, coverage, unit tests, e2e tests, etc.

Breaking EnableVarLogCollection behaviour

We always mount a emptyDir volume at /var/log in our user-containers. This impacts some popular containers images (ie. nginx) preventing them from starting.

In the next release (v0.19) we plan on changing this default behaviour and only mount a volume when EnableVarLogCollection is set to true.

Please reach out in https://github.com/knative/serving/issues/7881 if you have issues/comments about the approach & timeline.

Removed divisive language from most of the codebase.

Autoscaling

  • Improving performance, memory allocation, testability and readability of the codebase (thanks @markusthoemmes, @julz, @vagababov)
    (#9506,#9502,#9503,#9566,#9501,#9488,#9344,#9338,#9287,#9184 etc)
  • Max Scale Limit configuration (thanks @taragu) (#9419,#9426,#9434)
  • Fixes in the Initial Scale (thanks @taragu) (#9232, #9110)
  • Use Unix socket for probing in QueueProxy (thanks @julz and @nak3) (#9211,#9176)
  • Random Shuffle for pod scraping improving the variety of the pods that we scrape in autoscaler (thanks @vagababov) (#9133, #9113)
  • Permit and use configuration to the number of cached connections in the Activator (thanks @julz for serving change and @vagababov for pkg change).
  • The absence of autoscaling annotations in both Service and Configuration's top-level metadata is now validated. This gives users an actionable error message but might potentially cause old (faulty) YAML to start to fail to be accepted now. #9358 (thanks @markusthoemmes)

Core API

  • Add support for serviceAccountToken in projected volumes. #9264 (thanks @skonto)
  • Added RuntimeClassName feature flag. #9072 (thanks @ianlewis)
  • Fixes a race where the Route controller would report readiness prematurely. #9325 (thanks @mattmoor)
  • For security reasons, registries that are shipping image metadata on TLS version 1.0 or 1.1 are no longer supported. #9489 (thanks @markusthoemmes)
  • Digest resolution improvements & timeout. #9455, #9354, #9442 (thanks @julz, @mattmoor)
  • Responsive revision garbage collection is on (allowed) by default. #9335 (thanks @whaught)
  • Reduce the cardinality of our webhook metrics to reduce memory usage. knative/pkg#1464 (thanks @tragiclifestories)

Networking

  • Net-contour is moved to stable stage knative/docs#2808 (thanks @mattmoor)
  • Allow disabling AutoTLS with an annotation #9194 (thanks @arturenault and @ZhiminXiang)
  • Use networking.knative.dev/visibility instead of serving.knative.dev/visibility #9013 (Thanks @nak3)
  • Remove short-names for gateways with all-numeric Top Level Domains knative/networking#164 (Thanks @shreejad)
  • Move Kcert and KIngress CRDs yaml from serving to networking repo knative/networking#154 #9375 (Thanks @nak3)
    Serving repo has the CRDs yaml as symlinks from networking repo.
  • Make kingress conformance amenable to KinD knative/networking#139 (Thanks @mattmoor)
  • Deprecate retry, ingress.spec.visibility and ingress.status.LoadBalancer in Ingress knative/networking#129 knative/networking#132 knative/networking#137 (Thanks @nak3)
  • Rework RewriteHost to require splits. knative/networking#107 (Thanks @mattmoor)
  • tagHeaderBasedRouting flag in config-network is moved to config-features as tag-header-based-routing. (#8856, @igsong)
  • Add a new local gateway sharing same deployment as ingress Gateway for the future cluster local gateway deprecation knative-sandbox/net-istio#237 (Thanks @JRBANCEL)
serving - Knative Serving release v0.19.0

Published by knative-prow-releaser-robot almost 4 years ago

Release notes for Serving 0.19.0

Documentation

Changes by Kind

🚨 Breaking

  • The deprecated monitoring bundle has been removed (#9807, @dprotaso)
  • Drop serving v1alpha1 and v1beta1 APIs (#9617, #9620, @mattmoor, @dprotaso)
  • We only mount a volume at /var/log if the operator has enabled log collection
    Runtime contract /var/log requirement has changed from MUST to MAY (#9683, @dprotaso)

πŸ’« New Features & Changes

  • Adds a Scale Down Delay feature, allowing maintaining replica count for a configurable period after request count drops to avoid cold start penalty. (#9626, @julz)
  • (Alpha) Adds a DomainMapping CRD in v1alpha1, allowing mapping a custom domain name to a Knative Service (#9714, #9735, #9752, #9796, #9915, #10044, @julz)
  • Adding cluster-wide flag max-scale-limit. This ensures that both cluster-wide flag max-scale and per-revision annotation "autoscaling.knative.dev/maxScale" for new revision will not exceed this number. (#9577, @taragu)
  • All of our deployments run with a minimal set of kernel capabilities. (#9973, @markusthoemmes)
  • Autoscaler now supports multiple pods. Autoscaler Deployment needs to be scaled to 0 first then scaled to other replica value. (#9682, @yanweiguo)
  • Updated the Service schema to include a high level basic schema. (#9436, #9953, @joshuawilson)
  • Queue-proxies are no longer allow to run as root, they have a read-only root filesystem and have all capabilities dropped. (#9974, @markusthoemmes)
  • ResponsiveRevisionGC is enabled by default (#9710, @whaught)
  • Revisions are now named more clearly and consistently. (#9740, @markusthoemmes)

🐞 Bug Fixes

  • Domain is validated by k8s library IsFullyQualifiedDomainName(). (#10023, @nak3)
  • Fixed a rare nil-pointer exception in the autoscaler (#9794, @markusthoemmes)
  • Ingress is reconciled when label was different from desired. (#9719, @nak3)
serving - Knative Serving release v0.18.2

Published by knative-prow-releaser-robot almost 4 years ago

Meta

Serving v1alpha1 & v1beta1 will EOL in our next release (v0.19)

  • This applies to the resources: Service, Route, Revision, Configuration
  • You will want to migrate your storage version for these resources to v1 using our post-install job

Monitoring Bundle is deprecated

This bundle was deprecated in our 0.14 release and will be removed in our next release

Kubernetes minimum version has changed to v1.17

net-contour has moved to stable status

GitHub Actions FTW

  • faster, varied and easier to support: linting, vetting, coverage, unit tests, e2e tests, etc.

Breaking EnableVarLogCollection behaviour

We always mount a emptyDir volume at /var/log in our user-containers. This impacts some popular containers images (ie. nginx) preventing them from starting.

In the next release (v0.19) we plan on changing this default behaviour and only mount a volume when EnableVarLogCollection is set to true.

Please reach out in https://github.com/knative/serving/issues/7881 if you have issues/comments about the approach & timeline.

Removed divisive language from most of the codebase.

Autoscaling

  • Improving performance, memory allocation, testability and readability of the codebase (thanks @markusthoemmes, @julz, @vagababov)
    (#9506,#9502,#9503,#9566,#9501,#9488,#9344,#9338,#9287,#9184 etc)
  • Max Scale Limit configuration (thanks @taragu) (#9419,#9426,#9434)
  • Fixes in the Initial Scale (thanks @taragu) (#9232, #9110)
  • Use Unix socket for probing in QueueProxy (thanks @julz and @nak3) (#9211,#9176)
  • Random Shuffle for pod scraping improving the variety of the pods that we scrape in autoscaler (thanks @vagababov) (#9133, #9113)
  • Permit and use configuration to the number of cached connections in the Activator (thanks @julz for serving change and @vagababov for pkg change).
  • The absence of autoscaling annotations in both Service and Configuration's top-level metadata is now validated. This gives users an actionable error message but might potentially cause old (faulty) YAML to start to fail to be accepted now. #9358 (thanks @markusthoemmes)

Core API

  • Add support for serviceAccountToken in projected volumes. #9264 (thanks @skonto)
  • Added RuntimeClassName feature flag. #9072 (thanks @ianlewis)
  • Fixes a race where the Route controller would report readiness prematurely. #9325 (thanks @mattmoor)
  • For security reasons, registries that are shipping image metadata on TLS version 1.0 or 1.1 are no longer supported. #9489 (thanks @markusthoemmes)
  • Digest resolution improvements & timeout. #9455, #9354, #9442 (thanks @julz, @mattmoor)
  • Responsive revision garbage collection is on (allowed) by default. #9335 (thanks @whaught)
  • Reduce the cardinality of our webhook metrics to reduce memory usage. knative/pkg#1464 (thanks @tragiclifestories)

Networking

  • Net-contour is moved to stable stage knative/docs#2808 (thanks @mattmoor)
  • Allow disabling AutoTLS with an annotation #9194 (thanks @arturenault and @ZhiminXiang)
  • Use networking.knative.dev/visibility instead of serving.knative.dev/visibility #9013 (Thanks @nak3)
  • Remove short-names for gateways with all-numeric Top Level Domains knative/networking#164 (Thanks @shreejad)
  • Move Kcert and KIngress CRDs yaml from serving to networking repo knative/networking#154 #9375 (Thanks @nak3)
    Serving repo has the CRDs yaml as symlinks from networking repo.
  • Make kingress conformance amenable to KinD knative/networking#139 (Thanks @mattmoor)
  • Deprecate retry, ingress.spec.visibility and ingress.status.LoadBalancer in Ingress knative/networking#129 knative/networking#132 knative/networking#137 (Thanks @nak3)
  • Rework RewriteHost to require splits. knative/networking#107 (Thanks @mattmoor)
  • tagHeaderBasedRouting flag in config-network is moved to config-features as tag-header-based-routing. (#8856, @igsong)
  • Add a new local gateway sharing same deployment as ingress Gateway for the future cluster local gateway deprecation knative-sandbox/net-istio#237 (Thanks @JRBANCEL)
serving - Knative Serving release v0.18.1

Published by knative-prow-releaser-robot almost 4 years ago

Meta

Serving v1alpha1 & v1beta1 will EOL in our next release (v0.19)

  • This applies to the resources: Service, Route, Revision, Configuration
  • You will want to migrate your storage version for these resources to v1 using our post-install job

Monitoring Bundle is deprecated

This bundle was deprecated in our 0.14 release and will be removed in our next release

Kubernetes minimum version has changed to v1.17

net-contour has moved to stable status

GitHub Actions FTW

  • faster, varied and easier to support: linting, vetting, coverage, unit tests, e2e tests, etc.

Breaking EnableVarLogCollection behaviour

We always mount a emptyDir volume at /var/log in our user-containers. This impacts some popular containers images (ie. nginx) preventing them from starting.

In the next release (v0.19) we plan on changing this default behaviour and only mount a volume when EnableVarLogCollection is set to true.

Please reach out in https://github.com/knative/serving/issues/7881 if you have issues/comments about the approach & timeline.

Removed divisive language from most of the codebase.

Autoscaling

  • Improving performance, memory allocation, testability and readability of the codebase (thanks @markusthoemmes, @julz, @vagababov)
    (#9506,#9502,#9503,#9566,#9501,#9488,#9344,#9338,#9287,#9184 etc)
  • Max Scale Limit configuration (thanks @taragu) (#9419,#9426,#9434)
  • Fixes in the Initial Scale (thanks @taragu) (#9232, #9110)
  • Use Unix socket for probing in QueueProxy (thanks @julz and @nak3) (#9211,#9176)
  • Random Shuffle for pod scraping improving the variety of the pods that we scrape in autoscaler (thanks @vagababov) (#9133, #9113)
  • Permit and use configuration to the number of cached connections in the Activator (thanks @julz for serving change and @vagababov for pkg change).
  • The absence of autoscaling annotations in both Service and Configuration's top-level metadata is now validated. This gives users an actionable error message but might potentially cause old (faulty) YAML to start to fail to be accepted now. #9358 (thanks @markusthoemmes)

Core API

  • Add support for serviceAccountToken in projected volumes. #9264 (thanks @skonto)
  • Added RuntimeClassName feature flag. #9072 (thanks @ianlewis)
  • Fixes a race where the Route controller would report readiness prematurely. #9325 (thanks @mattmoor)
  • For security reasons, registries that are shipping image metadata on TLS version 1.0 or 1.1 are no longer supported. #9489 (thanks @markusthoemmes)
  • Digest resolution improvements & timeout. #9455, #9354, #9442 (thanks @julz, @mattmoor)
  • Responsive revision garbage collection is on (allowed) by default. #9335 (thanks @whaught)
  • Reduce the cardinality of our webhook metrics to reduce memory usage. knative/pkg#1464 (thanks @tragiclifestories)

Networking

  • Net-contour is moved to stable stage knative/docs#2808 (thanks @mattmoor)
  • Allow disabling AutoTLS with an annotation #9194 (thanks @arturenault and @ZhiminXiang)
  • Use networking.knative.dev/visibility instead of serving.knative.dev/visibility #9013 (Thanks @nak3)
  • Remove short-names for gateways with all-numeric Top Level Domains knative/networking#164 (Thanks @shreejad)
  • Move Kcert and KIngress CRDs yaml from serving to networking repo knative/networking#154 #9375 (Thanks @nak3)
    Serving repo has the CRDs yaml as symlinks from networking repo.
  • Make kingress conformance amenable to KinD knative/networking#139 (Thanks @mattmoor)
  • Deprecate retry, ingress.spec.visibility and ingress.status.LoadBalancer in Ingress knative/networking#129 knative/networking#132 knative/networking#137 (Thanks @nak3)
  • Rework RewriteHost to require splits. knative/networking#107 (Thanks @mattmoor)
  • tagHeaderBasedRouting flag in config-network is moved to config-features as tag-header-based-routing. (#8856, @igsong)
  • Add a new local gateway sharing same deployment as ingress Gateway for the future cluster local gateway deprecation knative-sandbox/net-istio#237 (Thanks @JRBANCEL)
serving - Knative Serving release v0.17.4

Published by knative-prow-releaser-robot almost 4 years ago

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.
  • 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)
serving - Knative Serving release v0.18.0

Published by knative-prow-releaser-robot about 4 years ago

Meta

Serving v1alpha1 & v1beta1 will EOL in our next release (v0.19)

  • This applies to the resources: Service, Route, Revision, Configuration
  • You will want to migrate your storage version for these resources to v1 using our post-install job

Monitoring Bundle is deprecated

This bundle was deprecated in our 0.14 release and will be removed in our next release

Kubernetes minimum version has changed to v1.17

net-contour has moved to stable status

GitHub Actions FTW

  • faster, varied and easier to support: linting, vetting, coverage, unit tests, e2e tests, etc.

Breaking EnableVarLogCollection behaviour

We always mount a emptyDir volume at /var/log in our user-containers. This impacts some popular containers images (ie. nginx) preventing them from starting.

In the next release (v0.19) we plan on changing this default behaviour and only mount a volume when EnableVarLogCollection is set to true.

Please reach out in https://github.com/knative/serving/issues/7881 if you have issues/comments about the approach & timeline.

Removed divisive language from most of the codebase.

Autoscaling

  • Improving performance, memory allocation, testability and readability of the codebase (thanks @markusthoemmes, @julz, @vagababov)
    (#9506,#9502,#9503,#9566,#9501,#9488,#9344,#9338,#9287,#9184 etc)
  • Max Scale Limit configuration (thanks @taragu) (#9419,#9426,#9434)
  • Fixes in the Initial Scale (thanks @taragu) (#9232, #9110)
  • Use Unix socket for probing in QueueProxy (thanks @julz and @nak3) (#9211,#9176)
  • Random Shuffle for pod scraping improving the variety of the pods that we scrape in autoscaler (thanks @vagababov) (#9133, #9113)
  • Permit and use configuration to the number of cached connections in the Activator (thanks @julz for serving change and @vagababov for pkg change).
  • The absence of autoscaling annotations in both Service and Configuration's top-level metadata is now validated. This gives users an actionable error message but might potentially cause old (faulty) YAML to start to fail to be accepted now. #9358 (thanks @markusthoemmes)

Core API

  • Add support for serviceAccountToken in projected volumes. #9264 (thanks @skonto)
  • Added RuntimeClassName feature flag. #9072 (thanks @ianlewis)
  • Fixes a race where the Route controller would report readiness prematurely. #9325 (thanks @mattmoor)
  • For security reasons, registries that are shipping image metadata on TLS version 1.0 or 1.1 are no longer supported. #9489 (thanks @markusthoemmes)
  • Digest resolution improvements & timeout. #9455, #9354, #9442 (thanks @julz, @mattmoor)
  • Responsive revision garbage collection is on (allowed) by default. #9335 (thanks @whaught)
  • Reduce the cardinality of our webhook metrics to reduce memory usage. knative/pkg#1464 (thanks @tragiclifestories)

Networking

  • Net-contour is moved to stable stage knative/docs#2808 (thanks @mattmoor)
  • Allow disabling AutoTLS with an annotation #9194 (thanks @arturenault and @ZhiminXiang)
  • Use networking.knative.dev/visibility instead of serving.knative.dev/visibility #9013 (Thanks @nak3)
  • Remove short-names for gateways with all-numeric Top Level Domains knative/networking#164 (Thanks @shreejad)
  • Move Kcert and KIngress CRDs yaml from serving to networking repo knative/networking#154 #9375 (Thanks @nak3)
    Serving repo has the CRDs yaml as symlinks from networking repo.
  • Make kingress conformance amenable to KinD knative/networking#139 (Thanks @mattmoor)
  • Deprecate retry, ingress.spec.visibility and ingress.status.LoadBalancer in Ingress knative/networking#129 knative/networking#132 knative/networking#137 (Thanks @nak3)
  • Rework RewriteHost to require splits. knative/networking#107 (Thanks @mattmoor)
  • tagHeaderBasedRouting flag in config-network is moved to config-features as tag-header-based-routing. (#8856, @igsong)
  • Add a new local gateway sharing same deployment as ingress Gateway for the future cluster local gateway deprecation knative-sandbox/net-istio#237 (Thanks @JRBANCEL)
serving - Knative Serving release v0.17.3

Published by knative-prow-releaser-robot about 4 years ago

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.
  • 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)
serving - Knative Serving release v0.17.2

Published by knative-prow-releaser-robot about 4 years ago

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.
  • 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)
serving - Knative Serving release v0.15.3

Published by knative-prow-releaser-robot about 4 years ago

Meta

go mod migration

Knative is now completely migrated to Golang modules.

Serving release artifact deprecations

serving.yaml and serving-cert-manager.yaml will be shipped for the last time in this release. They have been broken out into separate artifacts. Please refer to the current installation docs for guidance on how to install Knative Serving and its optional components.

Minimum supported Kubernetes version bumped to 1.16

As per the Kubernetes minimum version principle - our current minimum supported Kubernetes version is now 1.16.

Autoscaling

Activator Subsetting (thanks @vagababov)

We compute a subset of Activator pods for each revision in a consistent manner, rather than assigning all. This noticeably improves load balancing for smaller revisions with small container concurrency values.

  • Improved pod scraping latency by directly scraping pods if available #7804 (thanks @vagababov)
  • Autoscaling Documentation (thanks @markusthoemmes)
  • Last pod retention period #7931 (thanks @vagababov)
  • Unify Activator and QueueProxy stats reporting libraries and report more precise concurrency values from Activator #7775 (thanks @makusthoemmes)
  • Add a global setting which prohibits setting container concurrency to 0 #7932 (thanks @julz)
  • Progress deadline is now a configurable parameter #7649 (thanks @vagababov)
  • Burst capacity is calculated over the panic window now (thanks @vagababov)
  • General code cleanup, test stabilization, etc thanks (@julz, @markusthoemmes, @vagababov, @nak3)

Core API

  • Our Revision shape has slightly changed to support multiple containers in the future #7373 (thanks @savitaashture)
    • Revision.Status.ImageDigest is deprecated and the digest will appear in Revision.Status.ContainerStatus.
  • Enable K8s dry-run as an experimental feature to provide faster feedback when your template won't create a valid Pod #3425 (thanks @whaught)
    • These are currently opt-in via the current annotation (may change)
      • features.knative.dev/podspec-dryrun: enabled
      • features.knative.dev/podspec-dryrun: strict
    • Strict mode will return failures if dry-run is not supported. This happens when webhooks have side-effects.
  • Webhook infrastructure now supports receiving a callback when a deletion occurs pkg/#1219 (thanks @whaught)
  • Some lingering and deprecated v1alpha1 properties have been removed from our go types
    • Revision's concurrencyModel #7893 (thanks @vagabov)
    • Revision's buildName and buildRef #7896 (thanks @vagabov)
  • Reduced some churn reconciling deleted objects when they were tracking dependent resources #7679 (thanks @markusthoemmes)
  • genreconciler now allows developers to override the controller’s name pkg/#1137 (thanks @shashwathi @andrew-su)

Networking

  • Remove /var/log symlink logic from the queue proxy #7882 (thanks @dprotaso)
    • /var/log log capture now supports containers that aren't named user-container.
  • Add support for labels in DomainTemplate #7647 (thanks @duglin)
    • This allows users to create custom URLs via the template and to choose custom domains in the config-domain configMap via labels.
  • net-certmanager repository setup and code migration (thanks @ZhiminXiang)
    • Cert-manager related resources for AutoTLS are generated and released from the net-certmanager repository now.
  • KIngress no longer uses retries #7842 (thanks @tcnghia)
  • Operation name for activator's proxy span and queue-proxy's span are renamed to {activator,queue}_proxy #7934 (thanks @nak3)
  • Ingress conformance test for visibility and path #7666 (thanks @andrew-su)
  • Better timeouts for the ingress prober #7702 (thanks @JRBANCEL)
  • For ingress prober, use default http.Transport and context with timeout for better timeouts #7702 (thanks @JRBANCEL)
  • Use "go mod" within net-istio, net-contour, net-certmanager, net-http01 (thanks @andrew-su, @mattmoor, @tcnghia, @ZhiminXiang)
  • Propagate status from KCert to Route #7163 (thanks @nak3)
serving - Knative Serving release v0.17.1

Published by knative-prow-releaser-robot about 4 years ago

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.
  • 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)
serving - Knative Serving release v0.17.0

Published by knative-prow-releaser-robot about 4 years ago

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.
  • 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)
serving - Knative Serving release v0.14.3

Published by knative-prow-releaser-robot about 4 years ago

Meta

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 (https://github.com/istio/istio/pull/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/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/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)
serving - Knative Serving release v0.16.0

Published by knative-prow-releaser-robot over 4 years ago

Meta

Minimum Kubernetes version supported is 1.16

  • The previous release documented a minimum version of 1.16, where this release actually raises the hard limit as we have begun to take advantage of 1.16 features (namely CRD v1 API).

PodAutoscaler custom metrics API is dropped

  • The autoscaler no longer implements the custom metrics API contract and we also no longer ship the APIService necessary to enable generic metric clients (like the HPA) to fetch those metrics from the autoscaler. Revisions can no longer be scaled using concurrency and/or request-per-second metrics when using the HPA.
  • Multiple shoutouts via mailing lists and the community meeting yielded no usage of that feature.

We no longer release a serving.yaml manifest

  • We stopped documenting this manifest some time ago, and it has long been the concatenation of several of the other manifests.

Post-Install Jobs

  • The new serving-post-install-jobs.yaml is expected to be used with kubectl create - the jobs are idempotent

Autoscaling

  • Improved load-balancing behavior for revisions that have the activator in their networking path #8226 #8263 (thanks @vagababov)
  • Dropped support for HPA-scaling based on concurrency/RPS metrics #8318 (thanks @markusthoemmes)
  • Stop renewing panic mode if it’s not necessary** #8125 (thanks @vagababov)**
  • Added validation of autoscaler classes under the β€œknative.dev” domain #8224 (thanks @yanweiguo)
  • Optimized the protocol between the Activator and the Autoscaler #8266 (thanks @julz)
  • Made autoscaler calculations consistent between CPU architectures #8341 (thanks @mundaym)
  • Keep connections alive during scrapes, if possible #8367 (thanks @julz)
  • Scale non-routable revisions down quicker #8389 (thanks @vagababov)
  • Remove endpoints informer from autoscaler reducing reducing our API server load for watches, memory usage and GC (thanks @vagababov)

Core API

  • Support for multiple-containers is now alpha (many PRs, thanks @savitaashture, @skonto)
    • You can now use multiple-containers in the pod spec of a Knative Service when you set β€œmulti-container” to β€œenabled” in our config-features ConfigMap.
  • Support for disabling β€œservice links” #8439, #8498, #8499 (thanks @dprotaso, @mattmoor, @vagababov)
    • This let’s through a field of the pod spec that was added in K8s 1.13 to disable a feature of the Kubernetes runtime environment called β€œservice links”. This early service discovery feature injects 8 environment variables into the Pod’s containers for each Kubernetes Service in the same namespace, which leads to serious problems when many services are deployed. We have started to socialize a change to the default runtime behavior here, which would take effect in 0.19: #8563.
  • Support for using the downwards API in environment variables #8126 (thanks @JRBANCEL)
    • This let’s users start to use fieldRef in their environment variable spec to project information like namespace into their containers.
    • This feature must be explicitly enabled by setting β€œkubernetes.podspec-fieldref” to β€œenabled” in our config-features ConfigMap.
  • We have extended our leader election support to apply to Knative webhooks (many PRs, thanks @mattmoor, @yanweiguo)
  • Ongoing improvements to our generated controller infrastructure (many PRs, thanks @whaught)
    • In reconcilers for β€œKnative-shaped” resources, the generated controller logic takes on a number of additional β€œbest-practice” responsibilities (now by default!), including management of β€œobserved generation”
  • Reduce the idle queue-proxy CPU usage 10x #8148 (thanks @mattmoor)
    • The default exec probe frequency on minScale revisions led to a high CPU usage by the queue proxy due to the frequency. We reduced the frequency from 1s to 10s to reduce this overhead by roughly 10x.
  • Users are now warned if they change the β€œ_example” block in ConfigMaps seemingly by accident #8123 (thanks @markusthoemmes)
  • Ingress conformance tests have been moved out of test files so they can be consumed downstream #8150 (thanks @dprotaso)
  • Operators can now set queue proxy resource requests/limits in the config-deployment.yaml config map #8195 (thanks @julz)

Networking

  • Fix Unknown cert status issue when cluster-local visibility is set #8043 (thanks @nak3)
  • Support tag header based routing (thanks @igsong, @tanzeeb, @tcnghia, @ZhiminXiang)
  • Split networking related resources from knative/serving repo into knative/networking repo (thanks @tcnghia)
  • Reduce the high CPU usage of idle queue-proxy #8147 #8149 (thanks @mattmoor, @vagababov)
  • Increase the QPS limit of networking probing #8054 (thanks @JRBANCEL)
  • Fix the issue that namespace-level auto TLS feature does not work with web browser because of HTTP connection reuse #7495 (thanks @ZhiminXiang)
  • Drop istio-injection=enabled label in knative-serving namespace from serving-core.yaml. #8482 (thanks @nak3)
  • Add a documentation about how to use Istio Authorization with Knative (thanks @nak3)
serving - Knative Serving release v0.15.2

Published by knative-prow-releaser-robot over 4 years ago

Meta

go mod migration

Knative is now completely migrated to Golang modules.

Serving release artifact deprecations

serving.yaml and serving-cert-manager.yaml will be shipped for the last time in this release. They have been broken out into separate artifacts. Please refer to the current installation docs for guidance on how to install Knative Serving and its optional components.

Minimum supported Kubernetes version bumped to 1.16

As per the Kubernetes minimum version principle - our current minimum supported Kubernetes version is now 1.16.

Autoscaling

Activator Subsetting (thanks @vagababov)

We compute a subset of Activator pods for each revision in a consistent manner, rather than assigning all. This noticeably improves load balancing for smaller revisions with small container concurrency values.

  • Improved pod scraping latency by directly scraping pods if available #7804 (thanks @vagababov)
  • Autoscaling Documentation (thanks @markusthoemmes)
  • Last pod retention period #7931 (thanks @vagababov)
  • Unify Activator and QueueProxy stats reporting libraries and report more precise concurrency values from Activator #7775 (thanks @makusthoemmes)
  • Add a global setting which prohibits setting container concurrency to 0 #7932 (thanks @julz)
  • Progress deadline is now a configurable parameter #7649 (thanks @vagababov)
  • Burst capacity is calculated over the panic window now (thanks @vagababov)
  • General code cleanup, test stabilization, etc thanks (@julz, @markusthoemmes, @vagababov, @nak3)

Core API

  • Our Revision shape has slightly changed to support multiple containers in the future #7373 (thanks @savitaashture)
    • Revision.Status.ImageDigest is deprecated and the digest will appear in Revision.Status.ContainerStatus.
  • Enable K8s dry-run as an experimental feature to provide faster feedback when your template won't create a valid Pod #3425 (thanks @whaught)
    • These are currently opt-in via the current annotation (may change)
      • features.knative.dev/podspec-dryrun: enabled
      • features.knative.dev/podspec-dryrun: strict
    • Strict mode will return failures if dry-run is not supported. This happens when webhooks have side-effects.
  • Webhook infrastructure now supports receiving a callback when a deletion occurs pkg/#1219 (thanks @whaught)
  • Some lingering and deprecated v1alpha1 properties have been removed from our go types
    • Revision's concurrencyModel #7893 (thanks @vagabov)
    • Revision's buildName and buildRef #7896 (thanks @vagabov)
  • Reduced some churn reconciling deleted objects when they were tracking dependent resources #7679 (thanks @markusthoemmes)
  • genreconciler now allows developers to override the controller’s name pkg/#1137 (thanks @shashwathi @andrew-su)

Networking

  • Remove /var/log symlink logic from the queue proxy #7882 (thanks @dprotaso)
    • /var/log log capture now supports containers that aren't named user-container.
  • Add support for labels in DomainTemplate #7647 (thanks @duglin)
    • This allows users to create custom URLs via the template and to choose custom domains in the config-domain configMap via labels.
  • net-certmanager repository setup and code migration (thanks @ZhiminXiang)
    • Cert-manager related resources for AutoTLS are generated and released from the net-certmanager repository now.
  • KIngress no longer uses retries #7842 (thanks @tcnghia)
  • Operation name for activator's proxy span and queue-proxy's span are renamed to {activator,queue}_proxy #7934 (thanks @nak3)
  • Ingress conformance test for visibility and path #7666 (thanks @andrew-su)
  • Better timeouts for the ingress prober #7702 (thanks @JRBANCEL)
  • For ingress prober, use default http.Transport and context with timeout for better timeouts #7702 (thanks @JRBANCEL)
  • Use "go mod" within net-istio, net-contour, net-certmanager, net-http01 (thanks @andrew-su, @mattmoor, @tcnghia, @ZhiminXiang)
  • Propagate status from KCert to Route #7163 (thanks @nak3)
serving - Knative Serving release v0.14.2

Published by knative-prow-releaser-robot over 4 years ago

Meta

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 (https://github.com/istio/istio/pull/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/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/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)
serving - Knative Serving release v0.15.1

Published by knative-prow-releaser-robot over 4 years ago

Meta

go mod migration

Knative is now completely migrated to Golang modules.

Serving release artifact deprecations

serving.yaml and serving-cert-manager.yaml will be shipped for the last time in this release. They have been broken out into separate artifacts. Please refer to the current installation docs for guidance on how to install Knative Serving and its optional components.

Minimum supported Kubernetes version bumped to 1.16

As per the Kubernetes minimum version principle - our current minimum supported Kubernetes version is now 1.16.

Autoscaling

Activator Subsetting (thanks @vagababov)

We compute a subset of Activator pods for each revision in a consistent manner, rather than assigning all. This noticeably improves load balancing for smaller revisions with small container concurrency values.

  • Improved pod scraping latency by directly scraping pods if available #7804 (thanks @vagababov)
  • Autoscaling Documentation (thanks @markusthoemmes)
  • Last pod retention period #7931 (thanks @vagababov)
  • Unify Activator and QueueProxy stats reporting libraries and report more precise concurrency values from Activator #7775 (thanks @makusthoemmes)
  • Add a global setting which prohibits setting container concurrency to 0 #7932 (thanks @julz)
  • Progress deadline is now a configurable parameter #7649 (thanks @vagababov)
  • Burst capacity is calculated over the panic window now (thanks @vagababov)
  • General code cleanup, test stabilization, etc thanks (@julz, @markusthoemmes, @vagababov, @nak3)

Core API

  • Our Revision shape has slightly changed to support multiple containers in the future #7373 (thanks @savitaashture)
    • Revision.Status.ImageDigest is deprecated and the digest will appear in Revision.Status.ContainerStatus.
  • Enable K8s dry-run as an experimental feature to provide faster feedback when your template won't create a valid Pod #3425 (thanks @whaught)
    • These are currently opt-in via the current annotation (may change)
      • features.knative.dev/podspec-dryrun: enabled
      • features.knative.dev/podspec-dryrun: strict
    • Strict mode will return failures if dry-run is not supported. This happens when webhooks have side-effects.
  • Webhook infrastructure now supports receiving a callback when a deletion occurs pkg/#1219 (thanks @whaught)
  • Some lingering and deprecated v1alpha1 properties have been removed from our go types
    • Revision's concurrencyModel #7893 (thanks @vagabov)
    • Revision's buildName and buildRef #7896 (thanks @vagabov)
  • Reduced some churn reconciling deleted objects when they were tracking dependent resources #7679 (thanks @markusthoemmes)
  • genreconciler now allows developers to override the controller’s name pkg/#1137 (thanks @shashwathi @andrew-su)

Networking

  • Remove /var/log symlink logic from the queue proxy #7882 (thanks @dprotaso)
    • /var/log log capture now supports containers that aren't named user-container.
  • Add support for labels in DomainTemplate #7647 (thanks @duglin)
    • This allows users to create custom URLs via the template and to choose custom domains in the config-domain configMap via labels.
  • net-certmanager repository setup and code migration (thanks @ZhiminXiang)
    • Cert-manager related resources for AutoTLS are generated and released from the net-certmanager repository now.
  • KIngress no longer uses retries #7842 (thanks @tcnghia)
  • Operation name for activator's proxy span and queue-proxy's span are renamed to {activator,queue}_proxy #7934 (thanks @nak3)
  • Ingress conformance test for visibility and path #7666 (thanks @andrew-su)
  • Better timeouts for the ingress prober #7702 (thanks @JRBANCEL)
  • For ingress prober, use default http.Transport and context with timeout for better timeouts #7702 (thanks @JRBANCEL)
  • Use "go mod" within net-istio, net-contour, net-certmanager, net-http01 (thanks @andrew-su, @mattmoor, @tcnghia, @ZhiminXiang)
  • Propagate status from KCert to Route #7163 (thanks @nak3)