Releases: linkerd/linkerd2
edge-21.7.2
edge-21.7.2
This edge release focuses on dependency updates and has a couple of functional
changes. First, the Dockerfile used to build the proxy has been updated to use
the default distroless image, rather than the non-root variant. This change
is safe because the proxy already runs as non-root within the container. Second,
the ignoreInboundPorts parameter has been added in the linkerd2-cni helm
charts in order to enable tap support.
- Updated several project dependencies
- Updated the Dockerfile-proxy to use the default distroless image, because
the proxy already runs as non-root within the container - Added
ignoreInboundPortsparameter to the linkerd2-cni plugin helm chart
edge-21.7.1
edge-21.7.1
This edge release adds support for emitting Kubernetes events in the identity
controller when issuing leaf certificates. The event includes the identity,
expiry date, and a hash of the certificate. Additionally, this release contains
many dependency updates for the control plane's components, and it includes a
fix for an issue with the clusterNetworks healthcheck.
- Updated the identity controller to emit Kubernetes events when successfully
issuing leaf certificates to injected pods. - Fixed an issue in
linkerd checkwhere the clusterNetworks healthcheck
would fail if thepodCIDRfield is omitted from a node's spec. - Removed unnecessary controller port-forward logic from the
bin/webscript.
edge-21.6.5
edge-21.6.5
This release contains a few improvements, from many contributors! Also under
the hood, the destination service has received updates in preparation to the
upcoming support for StatefulSets across multicluster.
- Improved the
linkerd check --proxycommand to avoid hitting a timeout when
dealing with large clusters - Fixed the web component permissions in order to properly run the podCIDR check
(thanks @aryan9600!) - Avoid having the proxy-init container fail when the main container is
configured to drop either the NET_RAW or NET_ADMIN capabilities (thanks
@aryan9600!) - Upgraded the proxy-init image to improve the output in "simulate" mode (thanks
@liuerfire!) and to log to stdout instead of stderr (thanks @mo4islona!) - Added test-coverage reports to PRs (thanks @akshitgrover!)
edge-21.6.3
edge-21.6.3
This release moves the Linkerd proxy to a more minimal Docker base image,
adds a check for detecting certain network misconfigurations, and replaces
the deprecated OpenCensus collector with the OpenTelemetry collector in the
jaeger extension.
- Switched the Linkerd proxy's base docker image from Debian to a minimal
distroless base image (thanks @tskinn!) - Added a check to verify that Linkerd's clusterNetworks settings match the
cluster's pod CIDR networks (thanks @aryan9600!) - Replaced the deprecated OpenCensus collector with the OpenTelemetry
collector in the jaeger extension (thanks @aatarasoff!)
edge-21.6.2
edge-21.6.2
This release fixes a problem with the HTTP body buffering that was added
to support gRPC retries. Now, only requests with a retry configuration
are buffered (and only when their bodies are less than 64KB).
Additionally, an issue with the outbound ingress-mode proxy where forwarded
HTTP clients could fail to detect when the target pod was deleted, causing
connections to retry forever has been fixed. This only impacted traffic
forwarded directly to pod IPs and not load balanced services.
Finally, this release also includes some fixes in the CLI and dashboard.
- Added a new check that verifies if the opaque ports annotation is
misconfigured on services or pods (thanks @migue!) - Added support for resource aware completion for core linkerd command
- Fixed an issue where
namespaceresource was erroneously being shown
in the dashboard's topology graph - Added uninstall command support for legacy extension installs
- Updated the proxy to only buffer request bodies when a request can be retried
- Updated the proxy to prevent buffering indefinitely on requests
when endpoints are updated in ingress mode - Fixed spelling mistakes across various files in the project
(thanks @jsoref!)
edge-21.6.1
edge-21.6.1
This release adds support for retrying HTTP/2 requests with small (<64KB)
message bodies, allowing the proxy to properly buffer message bodies when
responses are classified as a failure. Documentation on how to configure
retries can be found here.
This release also modifies the proxy's identity subsystem to instantiate a
client on-demand so client connections are not retained continually. Also
included in this release are various bug fixes and improvements as well as
expanding support for resource-aware tab completion in the jaeger and
multicluster CLI extensions.
- Added support for specifying a
gateway-portflag for themulticluster link
command (thanks @psmit!) - Added support for Kubernetes resource aware tab completion for
jaegerand
multiclustercommands - Fixed an issue where
viz,jaegerandmulticlusterextensions could not
be installed onPodSecurityPolicy-enabled clusters - Fixed an issue where
linkerd check --proxycould incorrectly report
out-of-date proxy versions caused by incorrect regex (thanks @aryan9600!) - Added support for the proxy to retry HTTP/2 requests with message bodies
<= 64KB - Modified the proxy's controller stack to create new client connections
on-demand - Fixed Viz's
uninstallcommand to remove viz installations that used the
legacylinkerd.io/extension: linkerd-vizlabel (thanks @jsoref!) - Expanded the "linkerd-existence" health check to also check for the
destination pod readiness
edge-21.5.3
edge-21.5.3
This edge release contains various improvements to the Viz and Jaeger install
charts, along with bug fixes in the CLI, and destination. This release also
adds kubernetes aware autocompletion to all viz commands, along with
ServiceProfiles to be part of the default viz install.
Finally, the proxy has been updated to continue supporting requests without
l5d-dst-override in ingress-mode proxies, to no longer include query parameters
in the OpenCensus trace spans, and to prevent timeouts with controller clients
of components with more than one replica.
- Separated protocol hint setting from H2 upgrades in destination profile
response, thus preventinghint.OpaqueTransportfield from not being set when
H2 upgrades are disabled - Updated OpenCensus trace spans for HTTP requests to no longer include query
parameters (thanks @aatarasoff!) - Reverted linkerd/linkerd2-proxy#992
to support requests withoutl5d-dst-overridein ingress-mode proxies - Fixed an issue in the proxy to prevent timeouts with controller clients
of components with more than one replica - Fixed
linkerd check --proxyfailure with pods that are part of Jobs - Updated
viz installto also include ServiceProfiles of its components.
As a side-effect,linkerd diagnostics install-spcmd has been removed - Added support for Kubernetes resource aware tab completion for all
viz commands - Updated destination to prefer
ServiceProfile.dstOverridesover
TrafficSplitwhen both are present for a service - Added toggle flags for
collectorandjaegercomponents in the
jaeger extension (thanks @tarvip!) - Added support for setting
nodeselector,tolerationfields for components
in the Viz extension (thanks @aatarasoff!) - Fixed a templating issue in Viz, making
podAnnotationsfield
work with prometheus - Updated Golang version to 1.16.4
- Removed unnecessary
--addon-overwriteflag inlinkerd upgrade
edge-21.5.2
edge-21.5.2
This edge release updates the proxy-init container to check whether the iptables
rules have already been added, which prevents errors if the proxy-init container
is restarted. Also, the viz stat command now has tab completion for Kubernetes
resources, saving you precious keystrokes! Finally, the proxy has been updated
with several fixes and improvements.
- Added instructions to
build.mdfor using a locally built proxy
(thanks @jroper!) - Added support for Kubernetes resource aware tab completion to the
viz stat
command - Updated
proxy-initto skip configuring firewall if rules exists - Fixed
viz uninstallto delete all RBAC objects (thanks @aryan9600!) - Improved diagnostics for rejected profile discovery
- Added the
l5d-client-idheader on mutually-authenticated inbound requests so
that applications can discover the client's identity. - Reduced proxy resource usage when there are no profiles
- Changed the admin server to assume all meshed connections are HTTP/2 and fail
connections when that is not the case - Updated the proxy to require the
l5d-dst-overrideheader on outbound
requests when the proxy is in ingress-mode - Removed support for TCP-forwarding in ingress-mode
stable-2.10.2
stable-2.10.2
This stable release fixes a proxy task leak that could be triggered when clients
disconnect when a service is in failfast. It also includes fixes for the fuzz
testing that was performed on the proxy and its dependencies; check out the
Introducing fuzz testing for
Linkerd blog post for
a summary of that work!
- Added versions to the the hint URLs output by the
checkcommand so that
users are directed to the correct stable version documentation - Fixed an issue where the opaque ports annotation on a namespace would
overwrite the annotations on services in that namespace
edge-21.5.1
edge-21.5.1
This edge release adds support for versioned hint URLs in linkerd check and
support for traffic splitting through ServiceProfiles, among other fixes and
improvements. Additionally, more options have been added to the
linkerd-multicluster and linkerd-jaeger helm charts.
- Added support for traffic splitting through a ServiceProfile's
dstOverrides
field. - Added
nodePortsoption to the multicluster helm chart (thanks @psmit!). - Added
nodeSelectorand toleration options to the linkerd-jaeger helm chart
(thanks @aatarasoff!). - Added versioned hint URLs to the CLI
checkcommand when encountering an
error; each major CLI version will now point to that version's relevant
section in the Linkerd troubleshooting page. - Fixed an issue in the CLI
checkcommand where error messages for
healthchecks that were being retried would be outputted repeatedly instead of
just once. - Fixed an issue in the proxy injector where a namespace annotated with opaque
ports would overwrite all service annotations. - Fixed a regression in the proxy that caused all logs to be output with ANSI
control characters, by default logs are output in plaintext now. - Simplified proxy internals in order to distinguish endpoint-forwarding logic
from the handling of load balanced services. - Simplified the ingress-mode outbound proxy by requiring the
l5d-dst-overrideheader and by failing non-HTTP communication. Proxies
running in ingress-mode will not unexpectedly revert to insecure
communication as a result.