Skip to content

Releases: linkerd/linkerd2

edge-24.10.3

18 Oct 01:40
64130e1
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

edge-24.10.3 adds hostname and zone_locality labels for outbound GRPC and HTTP metrics, providing the hostname and zone used for the target. It also allows configuring the service name for Linkerd's distributed traces (fixing #11157) and fixes a bug where the linkerd-jaeger injector could mistakenly alter annotations it shouldn't have, as well as a bug where the CNI plugin would silently fail if the underlying Node hit the inotify limit -- now it will detect the problem and crash so that the problem can be noticed and corrected. Finally, linkerd multicluster link now produces YAML that can be applied into clusters running versions prior to edge-24.9.3.

What's Changed

Full Changelog: edge-24.10.2...edge-24.10.3

edge-24.10.2

10 Oct 07:45
3a78e22
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

This release fixes an error in the CLI in order to allow the linkerd multicluster CLI commands to work correctly even when some of the clusters in a multicluster setup are running releases prior to edge-24.9.3. Additionally, creating a link with linkerd multicluster link --set enableNamespaceCreation=true will allow Linkerd multicluster to create the namespace into which it mirrors services.

What's Changed

Full Changelog: edge-24.10.1...edge-24.10.2

edge-24.10.1

03 Oct 18:34
005a3a4
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

If you're using Linkerd multicluster with clusters running edge-24.9.2 or earlier, you'll need to upgrade your Linkerd CLI to at least edge-24.10.2 for the linkerd multicluster commands to work correctly.

Changes

This release supports native OpenTelemetry tracing: use --set webhook.collectorTraceProtocol=opentelemetry to use it. The default is still opencensus for the OpenCensus wire protocol. Additionally, the proxy addresses issue #13023 by setting a 30-second TCP_USER_TIMEOUT on TCP connections to allow Linkerd to do a better job of cleaning up half-open connections (thanks, Vadim Makerov!)

What's Changed

New Contributors

Full Changelog: edge-24.9.3...edge-24.10.1

edge-24.9.3

27 Sep 16:40
635b265
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

If you're using Linkerd multicluster with clusters running edge-24.9.2 or earlier, you'll need to upgrade your Linkerd CLI to at least edge-24.10.2 for the linkerd multicluster commands to work correctly.

Changes

edge-24.9.3 fixes a panic that would occur if a retried response arrived before the retried request was complete. This is allowed by the spec and was seen in the field with retries enabled for wire-grpc. Additionally, it supports configuring the timeout and failure threshold for health probes for the multicluster gateway.

What's Changed

Full Changelog: edge-24.9.2...edge-24.9.3

edge-24.9.2

12 Sep 07:54
5067f0a
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

Starting in edge-24.9.2, the timestamp in JSON-formatted proxy logs are now ISO8601 strings, for example

{"timestamp":"2024-09-09T13:38:56.919918Z","level":"INFO","fields":{"message":"Using single-threaded proxy runtime"},"target":"linkerd2_proxy::rt","threadId":"ThreadId(1)"}

Changes

This release allows Linkerd Viz to get Prometheus basic-auth credentials from a Secret (set prometheusCredsSecret when installing Viz), switches the proxy to use ISO8601 timestamps when logging JSON (fixing issue 12505), publishes a variety of new internal metrics about how the proxy runtime is performing, and publishes the proxy's current time as a metric to make it easier to know when certificates need to be rotated. It also allows setting TCP_USER_TIMEOUT for TCP sockets (thanks, Vadim Makerov!), updates the Helm documentation to include recently-added values, and removes some redundant dashes in the identity controller's Helm templates. Finally, it also includes the org.opencontainers.image.source label in all the Linkerd Docker images (thanks, Maxime Brunet!).

What's Changed

New Contributors

Full Changelog: edge-24.9.1...edge-24.9.2

edge-24.9.1

06 Sep 09:57
ab207aa
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

This release adds the new linkerd viz stat-inbound and linkerd viz stat-outbound commands to easily examine statistics for Gateway API routes, and adds dualstack support for ExternalWorkload. It also adds Helm support for tuning liveness and readiness probe timeouts (thanks @kristjankullerkann-wearemp!) and configuring externalTrafficPolicy for multicluster gateways (thanks Lauri Kuittinen!).

What's Changed

New Contributors

Full Changelog: edge-24.8.3...edge-24.9.1

edge-24.8.3

29 Aug 15:56
4a7c705
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

In addition to dependency upgrades, this edge release has two fixes for Linkerd Viz: it correctly supports setting the group ID using the linkerd-viz Helm chart (thanks, @mozemke!) and it cleans up font downloading to avoid WAF errors.

What's Changed

New Contributors

Full Changelog: edge-24.8.2...edge-24.8.3

edge-24.8.2

05 Aug 18:58
332c4ef
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

This release makes certain that Linkerd won't attempt to bind to IPv6 addresses at all unless IPv6 is enabled.

What's Changed

  • build(deps): bump actions/upload-artifact from 4.3.4 to 4.3.5 by @dependabot in #12937
  • Only bind to IPv6 addresses when disableIPv6=false by @alpeb in #12938

Full Changelog: edge-24.8.1...edge-24.8.2

edge-24.8.1

02 Aug 18:31
aa3e7d8
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

If you don't have the GRPCRoute CRD installed at all, Linkerd will run without GRPCRoute support. If you add the CRD after starting Linkerd, you'll need to restart the control plane for Linkerd to be able to use GRPCRoutes.

Changes

This release makes GRPCRoute optional: if you don't have the GRPCRoute CRD installed, Linkerd will run without any GRPCRoute functionality rather than failing to start. It also improves the status text when an HTTPRoute is incorrectly configured with parentRef pointing to a headless service, to make this situation easier to debug, and makes certain that trace-level logs honor proxy.logHTTPHeaders.

What's Changed

Full Changelog: edge-24.7.5...edge-24.8.1

edge-24.7.5

26 Jul 19:14
a9fa176
Compare
Choose a tag to compare

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

This release supports Server-scoped default policy, policy audit mode, GRPCRoute, and new retry and timeout configuration (including for Gateway API resources)!

Server-scoped default policy

Server resources now have an accessPolicy field that will override the default inbound policy for any traffic associated with that Server. (The default accessPolicy is deny, for compatibility with previous releases.)

Policy audit mode

Both default inbound policy and Server accessPolicy can now be set to audit in order to allow traffic to flow, but log anything that would be denied. In the proxy's logs, you'll see INFO level logs with the tag authz.name=audit. In metrics (such as request_total) you'll see the label authz_name=audit.

GRPCRoute

edge-24.7.5 includes support for the Gateway API GRPCRoute resource. Remember that starting with edge-24.5.2, if you don't set enableHttpRoutes to false when installing, Linkerd will install the grpcroute.gateway.networking.k8s.io CRD into your cluster and remove it when Linkerd is uninstalled.

Retries

Starting in this release, you can use the retry.linkerd.io/http annotation on Service or HTTPRoute resources to enable HTTP retries. The value of this annotation is a comma-separated list of HTTP statuses to retry on (for example "502-504,511"). "5xx" is shorthand for any of the 5xx status codes, and gateway-error is shorthand for "502-504".

You can also use the retry.linkerd.io/grpc annotation on Service or GRPCRoute resources to enable gRPC retries. The value of this annotation is a comma-separated list of gRPC results to retry on (for example "cancelled,deadline-exceeded").

These are counted retries, unlike Linkerd's typical budgeted retries. Use the retry.linkerd.io/limit annotation to set the maximum number of retries, and the retry.linkerd.io/timeout annotation to set how long Linkerd will give a request before cancelling it and retrying.

Timeouts

Finally, you can configure timeouts on Service, HTTPRoute, and GRPCRoute with annotations. timeout.linkerd.io/request and timeout.linkerd.io/response set timeouts for processing the request and receiving the response; timeout.linkerd.io/idle sets the idle timeout. All currently allow values similar to GEP-2257 Duration strings, but allowing only a single unit (for example, 1500ms or 90s are allowed, but 1s500ms and 1m30s are not).

What's Changed

Full Changelog: edge-24.7.4...edge-24.7.5