Releases: linkerd/linkerd2
edge-19.10.3
This edge release adds support for headless services, improves the upgrade
process after installing Linkerd with a custom cluster domain, and enhances
the check functionality to report invalid trust anchors.
- CLI
- Made
--cluster-domainan install-only flag (thanks @bmcstdio!) - Updated
checkto ensure that proxy trust anchors match configuration
(thanks @ereslibre!)
- Made
- Controller
- Added support for headless services (thanks @JohannesEH!)
- Helm
- Updated the helm build to retain previous releases
stable-2.6.0
This release introduces distributed tracing support, adds request and response
headers to linkerd tap, dramatically improves the performance of the dashboard
on large clusters, adds traffic split visualizations to the dashboard, adds a
public Helm repo, and many more improvements!
For more details, see the announcement blog post:
https://linkerd.io/2019/10/10/announcing-linkerd-2.6/
To install this release, run: curl https://run.linkerd.io/install | sh
Upgrade notes: Please see the upgrade
instructions.
Special thanks to: @alenkacz, @arminbuerkle, @bmcstdio, @bourquep,
@brianstorti, @kevtaylor, @KIVagant, @pierDipi, and @Pothulapati!
Full release notes:
- CLI
- Added a new
jsonoutput option to thelinkerd tapcommand, which exposes
request and response headers - Added a public Helm repo - for full installation instructions, see our Helm
documentation. - Added an
--addressflag tolinkerd dashboard, allowing users to specify
a port-forwarding address (thanks @bmcstdio!) - Added node selector constraints to Helm installation, so users can control
which nodes the control plane is deployed to (thanks @bmcstdio!) - Added a
--cluster-domainflag to thelinkerd installcommand that allows
setting a custom cluster domain (thanks @arminbuerkle!) - Added a
--disable-heartbeatflag forlinkerd install | upgradecommands - Allowed disabling namespace creation when installing Linkerd using Helm
(thanks @KIVagant!) - Improved the error message when the CLI cannot connect to Kubernetes (thanks
@alenkacz!)
- Added a new
- Controller
- Updated the Prometheus config to keep only needed
cadvisormetrics,
substantially reducing the number of time-series stored in most clusters - Introduced
config.linkerd.io/trace-collectorand
config.alpha.linkerd.io/trace-collector-service-accountpod spec
annotations to support per-pod tracing - Instrumented the proxy injector to provide additional metrics about
injection (thanks @Pothulapati!) - Added Kubernetes events (and log lines) when the proxy injector injects a
deployment, and when injection is skipped - Fixed a workload admission error between the Kubernetes apiserver and the HA
proxy injector, by allowing workloads in a namespace to be omitted from the
admission webhooks phase using theconfig.linkerd.io/admission-webhooks: disabledlabel (thanks @hasheddan!) - Fixed proxy injector timeout during a large number of concurrent injections
- Added support for disabling the heartbeat cronjob (thanks @kevtaylor!)
- Updated the Prometheus config to keep only needed
- Proxy
- Added distributed tracing support
- Decreased proxy Docker image size by removing bundled debug tools
- Added 587 (SMTP) to the list of ports to ignore in protocol detection (bound
to server-speaks-first protocols) (thanks @brianstorti!)
- Web UI
- Redesigned dashboard navigation so workloads are now viewed by namespace,
with an "All Namespaces" option, in order to increase dashboard speed - Added Traffic Splits as a resource to the dashboard, including a Traffic
Split detail page - Added a
Linkerd NamespaceGrafana dashboard, allowing users to view
historical data for a given namespace, similar to CLI output forlinkerd stat deploy -n myNs(thanks @bourquep!) - Fixed bad request in the top routes tab on empty fields (thanks @pierDipi!)
- Redesigned dashboard navigation so workloads are now viewed by namespace,
- Internal
- Moved CI from Travis to GitHub Actions
- Added requirement for Go
1.12.9for controller builds to include security
fixes - Added support for Kubernetes
1.16 - Upgraded client-go to
v12.0.0
edge-19.10.2
This edge release is a release candidate for stable-2.6.
- Controller
- Added the destination container back to the controller; it had previously
been separated into its own deployment. This ensures backwards compatibility
and allows users to avoid data plane downtime during an upcoming upgrade to
stable-2.6.
- Added the destination container back to the controller; it had previously
edge-19.10.1
This edge release is a release candidate for stable-2.6.
- Proxy
- Improved error logging when the proxy fails to emit trace spans
- Fixed bug in distributed tracing where trace ids with fewer than 16 bytes
were discarded
- Internal
- Added integration tests for
linkerd edgesandlinkerd endpoints
- Added integration tests for
edge-19.9.5
This edge release is a release candidate for stable-2.6.
- Helm
- Added node selector constraints, so users can control which nodes the
control plane is deployed to (thanks @bmcstdio!)
- Added node selector constraints, so users can control which nodes the
- CLI
- Added request and response headers to the JSON output option for
linkerd tap
- Added request and response headers to the JSON output option for
edge-19.9.4
This edge release introduces experimental support for distributed tracing as
well as a redesigned sidebar in the Web UI!
Experimental support for distributed tracing means that Linkerd data plane
proxies can now emit trace spans, allowing you to see the exact amount of time
spent in the Linkerd proxy for traced requests. The new
config.linkerd.io/trace-collector and
config.alpha.linkerd.io/trace-collector-service-account tracing annotations
allow specifying which pods should emit trace spans.
The goal of the dashboard's sidebar redesign was to reduce load on Prometheus
and simplify navigation by providing top-level views centered around namespaces
and workloads.
- CLI
- Introduced a new
--cluster-domainflag to thelinkerd installcommand
that allows setting a custom cluster domain (thanks @arminbuerkle!) - Fixed the
linkerd endpointscommand to use the correct Destination API
address (thanks @Pothulapati!) - Added
--disable-heartbeatflag forlinkerdinstall|upgradecommands
- Introduced a new
- Controller
- Instrumented the proxy-injector to provide additional metrics about
injection (thanks @Pothulapati!) - Added support for
config.linkerd.io/admission-webhooks: disabledlabel on
namespaces so that the pod's creation events in these namespaces are ignored
by the proxy injector; this fixes connection errors between the k8s API
Server and the control plane, when all the proxy injector replicas are
unavailable (thanks @hasheddan!) - Introduced
config.linkerd.io/trace-collectorand
config.alpha.linkerd.io/trace-collector-service-accountpod spec
annotations to support per-pod tracing
- Instrumented the proxy-injector to provide additional metrics about
- Web UI
- Workloads are now viewed by namespace, with an "All Namespaces" option, to
improve dashboard performance
- Workloads are now viewed by namespace, with an "All Namespaces" option, to
- Proxy
- Added experimental distributed tracing support
edge-19.9.3
This is an edge release of Linkerd! The latest stable release is stable-2.5.0.
To install this edge release, run: curl https://run.linkerd.io/install-edge | sh
- Helm
- Allowed disabling namespace creation during install (thanks @KIVagant!)
- CLI
- Added a new
jsonoutput option to thelinkerd tapcommand
- Added a new
- Controller
- Fixed proxy injector timeout during a large number of concurrent injections
- Separated the destination controller into its own separate deployment
- Updated Prometheus config to keep only needed
cadvisormetrics,
substantially reducing the number of time-series stored in most clusters
- Web UI
- Fixed bad request in the top routes tab on empty fields (thanks @pierDipi!)
- Proxy
- Fixes to the client's backoff logic
- Added 587 (SMTP) to the list of ports to ignore in protocol detection (bound
to server-speaks-first protocols) (thanks @brianstorti!)
edge-19.9.2
Much of our effort has been focused on improving our build and test
infrastructure, but this edge release lays the groundwork for some big
new features to land in the coming releases!
- Helm
- There's now a public Helm repo! This release can be installed with:
helm repo add linkerd-edge https://helm.linkerd.io/edge && helm install linkerd-edge/linkerd2 - Improved TLS credential parsing by ignoring spurious newlines
- There's now a public Helm repo! This release can be installed with:
- Proxy
- Decreased proxy-init Docker image size by removing bundled debug tools
- Web UI
- Fixed an issue where the edges table could end up with duplicates
- Added an icon to more clearly label external links
- Internal
- Upgraded client-go to v12.0.0
- Moved CI from Travis to GitHub Actions
edge-19.9.1
This edge release adds traffic splits into the Linkerd dashboard as well as a
variety of other improvements.
- CLI
- Improved the error message when the CLI cannot connect to Kubernetes (thanks
@alenkacz!) - Added
--addressflag tolinkerd dashboard(thanks @bmcstdio!)
- Improved the error message when the CLI cannot connect to Kubernetes (thanks
- Controller
- Fixed an issue where the proxy-injector had insufficient RBAC permissions
- Added support for disabling the heartbeat cronjob (thanks @kevtaylor!)
- Proxy
- Decreased proxy Docker image size by removing bundled debug tools
- Fixed an issue where the incorrect content-length could be set for GET
requests with bodies
- Web UI
- Added trafficsplits as a resource to the dashboard, including a trafficsplit
detail page
- Added trafficsplits as a resource to the dashboard, including a trafficsplit
- Internal
- Added support for Kubernetes 1.16
edge-19.8.7
- Controller
- Added Kubernetes events (and log lines) when the proxy injector injects a
deployment, and when injection is skipped - Additional preparation for configuring the cluster base domain (thanks
@arminbuerkle!)
- Added Kubernetes events (and log lines) when the proxy injector injects a
- Proxy
- Changed the proxy to require the
LINKERD2_PROXY_DESTINATION_SVC_ADDR
environment variable when starting up
- Changed the proxy to require the
- Web UI
- Increased dashboard speed by consolidating existing Prometheus queries