Contour v0.7.0
Heptio is proud to present version 0.7 of Contour, our Envoy powered Kubernetes Ingress Controller.
New and improved
- Support for rewriting a request prefix has been added to IngressRoute. See https://github.com/heptio/contour/blob/master/docs/ingressroute.md#prefix-rewrite-support for more information. Thanks @stevesloka
- Support for
contour.heptio.com/ingress.class
has been added to IngressRoute. If thecontour.heptio.com/ingress.class: production
annotation is present on an IngressRoute object it will only be processed by Contour containers running with the flag--ingress-class-name=production
. Thanks @amoskyler. Fixes #720 - All incoming HTTP requests are now timestamped by Envoy with an
X-Request-Start :
header. This header is understood by New Relic and datadog to time the end-to-end latency of a request. Thanks @yob. Fixes #646 - Support for TLS/1.3 is now enabled for all incoming requests. Thanks @chromefire. Fixes #672
- Gzip compression has been enabled for all responses. Thanks @yob. Fixes #310.
- Envoy has been upgraded to 1.7.0. Older version of Envoy are not compatible with Contour 0.7.0. Please see the Upgrading section for more information.
- Support for HTTP/1.0 requests has been added. Fixes #537
- Envoy now exposes a
/healthz
endpoint on port 8002 for use with the kubelet's readiness probe. Thanks @stevesloka. Fixes #695
Bugs fixed (since 0.6.1)
- k8s.io/client-go has been upgraded to v8.0.0 (Kubernetes v1.11.3).
- envoyproxy/go-control-plane has been upgraded to v0.6.0.
- AWS NLB documentation and example deployments have been updated for the
service.beta.kubernetes.io/aws-load-balancer-type: nlb
anotation added in Kubernetes 1.9. - A bug affecting deployments which explicitly set the
contour bootstrap
--stats-address
flag has been fixed. Thanks @josebiro. Fixes #742
Upgrade instructions
Due to a change in the xDS wire format Contour 0.7.0 requires Envoy 1.7.0. Earlier versions of Envoy will not work with Contour 0.7.0. Please ensure you upgrade your Deployments or Daemonsets to use this Envoy image
docker.io/envoyproxy/envoy-alpine:v1.7.0
If desired you can upgrade your Envoy container first, then your Contour container. This will cause Envoy to emit warnings like these
[2018-10-25 23:15:43.382][1][warning][misc] source/common/config/utility.cc:94] Setting a cluster name for API config source type envoy::api::v2::core::ConfigSource::GRPC is deprecated
When running against Contour 0.6.1. These warnings will cease once Contour is upgraded to 0.7.0.