Releases: linkerd/linkerd2
stable-2.14.6
stable-2.14.6
This stable release back-ports bugfixes and improvements from recent edge
releases.
- multicluster: Added an
imagePullSecrets
configuration to
linkerd-multicluster Helm chart (thanks @lhaussknecht!). (#11287) - multicluster: Updated the service mirror to support gateways exposed on
multiple IP addresses (thanks @MrFreezeex!) (#11499) - Updated control plane logging so that client-go may emit error logs. This will
also ensures that all logs are emitted in JSON when the json log format is
enabled. (#11632) - Added
kubeAPI.clientBurst
andkubeAPI.clientQPS
configurations that allow
users to configure the burst and QPS rate limits for the Kubernetes API
clients used by the control plane. The default burst and qps values are now
set at 200 and 100, respectively. The prior defaults limited bursts 10 and QPS
to 5, which could cause throttling issues in clusters that schedule many pods
quickly. (#11644) - viz: Update the default prometheus version to v2.48.0. (#11633)
edge-23.12.1
edge-23.12.1
This edge release introduces new configuration values in the identity
controller for client-go's QPS
and Burst
settings. Default values for these
settings have also been raised from 5
(QPS) and 10
(Burst) to 100
and
200
respectively.
- Added
namespaceSelector
fields for the tap-injector and jaeger-injector
webhooks. The webhooks are now configured to skipkube-system
by default
(#11649; fixes #11647) (thanks @mikutas!) - Added the ability to configure client-go's
QPS
andBurst
settings in the
identity controller (#11644) - Improved client-go logging visibility throughout the control plane's
components (#11632) - Introduced
PodDisruptionBudgets
in the linkerd-viz Helm chart for tap and
tap-injector (#11628; fixes #11248) (thanks @mcharriere!)
stable-2.14.5
stable-2.14.5
This stable release fixes a proxy regression where bursts of TCP connections
could result in EOF errors, due to an incorrect queue capacity. In addition, it
includes fixes for the control plane, dependency upgrades, and support for image
digests in Linkerd manifests.
- Added a controlPlaneVersion override to the
linkerd-control-plane
Helm chart
to support including SHA256 image digests in Linkerd manifests (thanks
@cromulentbanana!) (#11406; fixes #11312) - Added a
checksum/config
annotation to the destination and proxy injector
deployment manifests, to force restarting those workloads whenever their
webhook secrets change during upgrade (thanks @iAnomaly!) (#11440; fixes
#6940) - Updated the Policy controller's OpenSSL dependency to v3, as OpenSSL 1.1.1 is
EOL (#11625) - proxy: Increased
DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY
to prevent EOF errors
during bursts of TCP connections (proxy PR #2521)
edge-23.11.4
edge-23.11.4
This edge release introduces support for the native sidecar containers entering
beta support in Kubernetes 1.29. This improves the startup and shutdown ordering
for the proxy relative to other containers, fixing the long-standing
shutdown issue with injected Job
s. Furthermore, traffic from other
initContainer
s can now be proxied by Linkerd.
In addition, this edge release includes Helm chart improvements, and improvements
to the multicluster extension.
- Added a new
config.alpha.linkerd.io/proxy-enable-native-sidecar
annotation
andProxy.NativeSidecar
Helm option that causes the proxy container to run
as an init-container (thanks @teejaded!) (#11465; fixes #11461) - Fixed broken affinity rules for the multicluster
service-mirror
when running
in HA mode (#11609; fixes #11603) - Added a new check to
linkerd check
that ensures all extension namespaces are
configured properly (#11629; fixes #11509) - Updated the Prometheus Docker image used by the
linkerd-viz
extension to
v2.48.0, resolving a number of CVEs in older Prometheus versions (#11633) - Added
nodeAffinity
todeployment
templates in thelinkerd-viz
and
linkerd-jaeger
Helm charts (thanks @naing2victor!) (#11464; fixes
#10680)
edge-23.11.3
edge-23.11.3
This edge release fixes a bug where Linkerd could cause EOF errors during bursts
of TCP connections.
- Fixed a bug where the
linkerd multicluster link
command's
--gateway-addresses
flag was not respected when a remote gateway exists
(#11564) - proxy: Increased DEFAULT_OUTBOUND_TCP_QUEUE_CAPACITY to prevent EOF errors
during bursts of TCP connections
stable-2.14.4
stable-2.14.4
This stable release improves observability for the control plane by adding
additional logging to the destination controller and by adding histograms which
can detect Kubernetes informer lag. It also adds the ability to configure
protocol detection.
- Improved logging in the destination controller by adding the client pod's
name to the logging context. This will improve visibility into the messages
sent and received by the control plane from a specific proxy (#11532) - helm: Introduce configurable values for protocol detection (#11536)
- Fixed an issue where the Destination controller could stop processing service
profile updates, if a proxy subscribed to those updates stops reading them;
this is a followup to the issue [#11491] fixed in stable-2.14.2 (#11546) - In the Destination controller, added informer lag histogram metrics to track
whenever the Kubernetes objects watched by the controller are falling behind
the state in the kube-apiserver (#11534) - proxy: Fix grpc_status metric labels for inbound traffic
edge-23.11.2
edge-23.11.2
This edge release contains observability improvements and bug fixes to the
Destination controller, and a refinement to the multicluster gateway resolution
logic.
- Fixed an issue where the Destination controller could stop processing service
profile updates, if a proxy subscribed to those updates stops reading them;
this is a followup to the issue [#11491] fixed in edge-23.10.3 (#11546) - In the Destination controller, added informer lag histogram metrics to track
whenever the Kubernetes objects watched by the controller are falling behind
the state in the kube-apiserver (#11534) - In the multicluster service mirror, extended the target gateway resolution
logic to take into account all the possible IPs a hostname might resolve to,
rather than just the first one (thanks @MrFreezeex!) (#11499) - Added probes to the debug container to appease environments requiring probes
for all containers (#11308)
stable-2.14.3
stable-2.14.3
This stable release fixes an issue in the Destination controller that was
forbidding to route traffic to opaque ports on unmeshed pods. Also, it increases
the log level from debug to warning when the outbound proxy faces this type of
events.
edge-23.11.1
edge-23.11.1
This edge release fixes two bugs in the Destination controller that could cause
outbound connections to hang indefinitely.
- helm: Introduce configurable values for protocol detection (#11536)
- destination: Fix GetProfiles error when address is opaque and unmeshed (#11556)
- destination: Return NotFound for unknown pod names (#11540)
- proxy: Log controller errors at WARN
- proxy: Fix grpc_status metric labels for inbound traffic
edge-23.10.4
edge-23.10.4
This edge release includes a fix for the ServiceProfile
CRD resource schema.
The schema incorrectly required not
response matches to be arrays, while the
in-cluster validator parsed not
response matches as objects. In addition, an
issues has been fixed in linkerd profile
. When used with the --open-api
flag, it would not strip trailing slashes when generating a resource from
swagger specifications.
- Fixed an issue where trailing slashes wouldn't be stripped when generating
ServiceProfile
resources throughlinkerd profile --open-api
(#11519) - Fixed an issue in the
ServiceProfile
CRD schema. The schema incorrectly
required that anot
response match should be an array, which the service
profile validator rejected since it expected an object. The schema has been
updated to properly indicate thatnot
values should be an object (#11510;
fixes #11483) - Improved logging in the destination controller by adding the client pod's
name to the logging context. This will improve visibility into the messages
sent and received by the control plane from a specific proxy (#11532) - Fixed an issue in the destination controller where the metadata API would not
initialize aJob
informer. The destination controller uses the metadata API
to retrieveJob
metadata, and relies mostly on informers. Without an
initialized informer, an error message would be logged, and the controller
relied on direct API calls (#11541; fixes #11531)