Linkerd Edge Release Roundup: June 2024

Welcome to the June 2024 Edge Release Roundup post, where we dive into the most recent edge releases to help keep everyone up to date on the latest and greatest!
How to give feedback
Remember, edge releases are a snapshot of our current development work on
main
; by definition, they always have the most recent features but they may
have incomplete features, features that end up getting rolled back later, or
(like all software) even bugs. That said, edge releases are intended for
production use, and go through a rigorous set of automated and manual tests
before being released.
We would be delighted to hear how these releases work out for you! You can open a GitHub issue or discussion, join us on Slack, or visit the Buoyant Linkerd Forum – all are great ways to reach us.
Community contributions
We couldn’t do what we do without the Linkerd community, and this batch of releases is definitely no exception. Huge thanks to knowmost, Marwan Ahmed, and Nico Feulner for their contributions! You’ll find more information about all of these contributions in the release-by-release details below.
Recommendations and breaking changes
We recommend edge-24.5.5
for anyone considering an edge-24.5.*
release; it
has important fixes for the Linkerd CNI plugin on GKE. edge-24.5.1
is
specifically not recommended for users of GKE, due to a bug with the default
Linkerd configuration in that release.
Starting in edge-24.5.1
, the patchs
metric introduced in edge-24.3.4
is
renamed to patches
.
Finally, starting in edge-24.5.2
, Linkerd will install the GRPCRoute CRD in
the gateway.networking.k8s.io
API group, in preparation for later GRPCRoute
support. (You can disable this by setting enableHttpRoutes
to false
when
installing, which will also prevent Linkerd from installing the HTTPRoute CRD in
the gateway.networking.k8s.io
API group.)
The releases
This group of releases has focused on IPv6 support - delivered in
edge-24.5.2
! - and finalizing fixes for some edge cases in the way Linkerd
handles EndpointSlices and HTTPRoutes. Of course, each edge release has many
dependency updates; we won’t list them all here, but you can find them in the
release notes for each release.
edge-24.5.5
(May 31, 2024)
This release switches IPv6 off by default for the entire control plane,
including the Linkerd CNI plugin. Set disableIPv6
to false
to enable IPv6.
edge-24.5.4
(May 23, 2024)
We recommend edge-24.5.5
instead of this release. In this release, IPv6
support is off by default for most of the control plane, but it is mistakenly on
by default for the Linkerd CNI plugin.
This release adds support for JSON output to the linkerd inject
,
linkerd uninject
and linkerd profile
commands, and a --token
flag to
linkerd diagnostics policy
that allows specifying the context token to use so
that you can see how specific clients will see policies. It also adds support
for setting the group ID for the control plane (thanks, Nico Feulner!),
switches IPv6 to off by default for the control plane, adds support for several
proxy settings to the linkerd-control-plane
chart, allows overriding how many
cores control-plane components can use, correctly supports Gateway API producer
routes, fixes a race conditions around EndpointSlice updates, and fixes
intermittent routing failures with HTTPRoute (issue 12610).
edge-24.5.3
(May 15, 2024)
If you use the Linkerd CNI plugin on GKE, you will need to disable IPv6 or use
edge-24.5.5
instead.
This release removes an internal limit on the number of concurrent gRPC streams to the control plane, leaving available memory as the only constraint.
edge-24.5.2
(May 13, 2024)
If you use the Linkerd CNI plugin on GKE, you will need to disable IPv6 or use
edge-24.5.5
instead.
This release adds support for IPv6. It defaults to enabled: set disableIPv6
to
true
when installing to disable it. It also correctly sets the
backend_not_found
status on HTTPRoutes with no backends. Finally, it adds the
Gateway API GRPCRoute resource (in the gateway.networking.k8s.io
API group) as
part of continued work on support for GRPCRoutes, although this edge release
doesn’t attach any functionality to the CRD.
To prevent Linkerd from installing any CRDs into gateway.networking.k8s.io
,
set enableHttpRoutes
to false
when installing.
edge-24.5.1
(May 2, 2024)
We recommend edge-24.5.5
instead of this release due to a bug that prevents
Linkerd from functioning on GKE with the default configuration. Additionally,
this release has one breaking change: the patchs
metric introduced in
edge-24.3.4
is now correctly named patches
.
This release adds configurable HTTP/2 server keepalives, fixes CLI issues and
opaque-port issues when using native sidecars (issue #12395), restores Server
v1beta1 to ease migrations after it was mistakenly removed in edge-24.1.2
,
fixes an issue that could cause the endpoints gauge to report incorrect numbers
of endpoints, and continues ongoing work on upcoming IPv6 support.
Additionally, it avoids unnecessary cleanup of headless endpoint mirrors during garbage collection (thanks, Marwan Ahmed!) and cleans up some documentation in the code (thanks, knowmost!).
Installing the latest edge release
Installing the latest edge release needs just a single command.
curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh
You can also install edge releases with Helm.
Linkerd is for everyone
Linkerd is a graduated project of the Cloud Native Computing Foundation. Linkerd is committed to open governance. If you have feature requests, questions, or comments, we’d love to have you join our rapidly-growing community! Linkerd is hosted on GitHub, and we have a thriving community on Slack, Twitter, and in mailing lists. Come and join the fun!
Linkerd generally does new edge releases weekly; watch this space to keep
up-to-date. Feedback on this blog series is welcome! Just ping @flynn
on the
Linkerd Slack.