Releases: linkerd/linkerd2
edge-19.1.4
This is an edge release of Linkerd! The latest stable release is stable-2.1.0.
To install this edge release, run:
curl https://run.linkerd.io/install-edge | sh
- Controller
- Added support for timeouts! Configurable in the service profiles for each route
- Added an experimental CNI plugin to avoid requiring the NET_ADMIN capability when
injecting proxies (more details at https://linkerd.io/2/cni) (thanks @codeman9!) - Added more improvements to the API for
ListPods(thanks @alenkacz!)
- Web UI
- Grayed-out the tap icon for requests from sources that are not meshed
- CLI
- Added the
--protoflag tolinkerd profileto output a service profile
based on a Protobuf spec file - Fixed CLI connection failure to clusters that use self-signed certificates
- Simplified linkerd install so that setting up proxy auto-injection (flag --proxy-auto-inject) no longer requires enabling TLS (flag --tls)
- Added links for each
linkerd checkfailure, pointing to a relevant section
in our new FAQ page with resolution steps for each case
- Added the
edge-19.1.3
This is an edge release of Linkerd! The latest stable release is stable-2.1.0.
To install this edge release, run:
curl https://run.linkerd.io/install-edge | sh
- Controller
- Improved API for
ListPods(thanks @alenkacz!) - Fixed
GetProfilesAPI call not returning immediately when no profile
exists (resulting in proxies logging warnings)
- Improved API for
- Web UI
- Improved resource detail pages now show all resource types
- Fixed stats not appearing for routes that have service profiles installed
- CLI
- Added optional
linkerd install-spcommand to generate service profiles for
the control plane, providing per-route metrics for control plane components - Removed
--proxy-bind-timeoutflag fromlinkerd installandlinkerd inject
commands, as the proxy no longer accepts this environment variable - Improved CLI appearance on Windows systems
- Improved
linkerd checkoutput, fixed check bug when using--single-namespace
(thanks to @djeeg for the bug report!) - Improved
linkerd statnow supports DaemonSets (thanks @zknill!) - Fixed panic when
linkerd routesis called in single-namespace mode
- Added optional
- Proxy
- Added the ability to override a proxy's normal outbound routing by adding an
l5d-override-dstheader - Added
LINKERD2_PROXY_DNS_CANONICALIZE_TIMEOUTenvironment variable to
customize the timeout for DNS queries to canonicalize a name - Added support for route timeouts in service profiles
- Improved logging for gRPC errors and for malformed HTTP/2 request headers
- Improved log readability by moving some noisy log messages to more verbose
log levels
- Added the ability to override a proxy's normal outbound routing by adding an
edge-19.1.2
This is an edge release of Linkerd! The latest stable release is stable-2.1.0.
To install this edge release, run:
curl https://run.linkerd.io/install-edge | sh
- Controller
- Retry support! Introduce an
isRetryableproperty to service profiles to
enable configuring retries on a per-route basis
- Retry support! Introduce an
- Web UI
- Add "meshed" and "no traffic" badges on the resource detail pages
- Fix
linkerd dashboardto maintain proxy connection when browser open fails - Fix JavaScript bundling to avoid serving old versions after upgrade
- CLI
- Add
linkerd logscommand to surface logs from any container in the Linkerd
control plane (shout out to Stern!) - Add
linkerd uninjectcommand to remove the Linkerd proxy from a Kubernetes
config - Improve
linkerd injectto re-inject a resource that already has a Linkerd
proxy - Improve
linkerd routesto list all routes, including those without traffic - Improve readability in
linkerd checkandlinkerd injectoutputs
- Add
- Proxy
- Fix a deadlock in HTTP/2 stream reference counts
edge-19.1.1
This is an edge release of Linkerd! The latest stable release is stable-2.1.0.
To install this edge release, run:
curl https://run.linkerd.io/install-edge | sh
- CLI
- Adjust the set of checks that are run before executing CLI commands, which
allows the CLI to be invoked even when the control plane is not fully ready - Fix reporting of injected resources when the
linkerd injectcommand is run
onListtype resources with multiple items - Update the
linkerd dashboardcommand to use port-forwarding instead of
proxying when connecting to the web UI and Grafana - Add validation for the
ServiceProfileCRD (thanks, @alenkacz!) - Update the
linkerd checkcommand to disallow setting both the--preand
--proxyflags simultaneously (thanks again, @alenkacz!)
- Adjust the set of checks that are run before executing CLI commands, which
- Web UI
- Reduce the size of the webpack JavaScript bundle by nearly 50%!
- Fix an indexing error on the top results page
- Proxy
- Fixed The proxy-init container now exits with a non-zero exit code if
initialization fails, making initialization errors much more visible - Fixed The proxy previously leaked UDP sockets for failed DNS queries,
causing a memory leak; this has been fixed
- Fixed The proxy-init container now exits with a non-zero exit code if
edge-18.12.4
This is an edge release of Linkerd! The latest stable release is stable-2.1.0.
To install this edge release, run:
curl https://run.linkerd.io/install-edge | sh
Upgrade notes: The control plane components have been renamed as of the
edge-18.12.1 release to reduce possible naming collisions. To upgrade an
older installation, see the Upgrade Guide.
- CLI
- Add
--routesflag to thelinkerd topcommand, for grouping table rows
by route instead of by path - Update Prometheus configuration to automatically load
*_rules.ymlfiles - Remove TLS column from the
linkerd routescommand output
- Add
- Web UI
- Restore unmeshed resources in the network graph on the resource detail page
- Reduce the overall size of the asset bundle for the web frontend
- Proxy
- Improve configuration of the PeakEwma load balancer
Special thanks to @radu-matei for cleaning up a whole slew of Go lint warnings,
and to @jonrichards for improving the Rust build setup!
edge-18.12.3
Upgrade notes: The control plane components have been renamed as of the
edge-18.12.1 release to reduce possible naming collisions. To upgrade an
older installation, see the Upgrade Guide.
- CLI
- Multiple improvements to the
linkerd installconfig (thanks @codeman9!)- Use non-default service accounts for grafana and web deployments
- Use
emptyDirvolume mount for prometheus and grafana pods - Set security context on control plane components to not run as root
- Remove cluster-wide resources from single-namespace installs
- Disable service profiles in single-namespace mode
- Require that namespace already exist for single-namespace installs
- Fix resource requests for proxy-injector container in
--hainstalls
- Multiple improvements to the
- Controller
- Block controller initialization until caches have synced with kube API
- Fix proxy-api handling of named target ports in service configs
- Add parameter to stats API to skip retrieving prometheus stats (thanks,
@alpeb!)
- Web UI
- Adjust label for unknown routes in route tables, add tooltip
- Update Top Routes page to persist form settings in URL
- Add button to create new service profiles on Top Routes page
- Fix CLI commands displayed when linkerd is running in non-default namespace
- Proxy
- Proxies with TLS enabled now honor ports configured to skip protocol detection
stable-2.1.0
Announcing Linkerd 2.1 🎈
This stable release introduces several major improvements, including per-route
metrics, service profiles, and a vastly improved dashboard UI. It also adds
several significant experimental features, including proxy auto-injection,
single namespace installs, and a high-availability mode for the control plane.
For more details, see the announcement blog post:
https://blog.linkerd.io/2018/12/06/announcing-linkerd-2-1/
To install this release, run: curl https://run.linkerd.io/install | sh
Upgrade notes: The control plane components have been renamed in this
release to reduce possible naming collisions. Please make sure to read the
upgrade instructions if you are upgrading from the stable-2.0.0 release.
Special thanks to: @alenkacz, @alpeb, @benjdlambert, @fahrradflucht,
@ffd2subroutine, @hypnoglow, @ihcsim, @lucab, and @rochacon.
Full release notes:
- CLI
linkerd routescommand displays per-route stats for any resource- Service profiles are now supported for external authorities
linkerd profile --open-apiflag generates a service profile
based on an OpenAPI specification (swagger) filelinkerd routescommand displays per-route stats for services with
service profiles- Add
--haflag tolinkerd installcommand, for HA
deployment of the control plane - Update stat command to accept multiple stat targets
- Fix authority stat filtering when the
--fromflag is present - Various improvements to check command, including:
- Emit warnings instead of errors when not running the latest version
- Add retries if control plane health check fails initially
- Run all pre-install RBAC checks, instead of stopping at first failure
- Fixed an issue with the
--registryinstall flag not accepting
hosts with ports - Added an
--outputstat flag, for printing stats as JSON - Updated the
toptable to set column widths dynamically - Added a
--single-namespaceinstall flag for installing
the control plane with Role permissions instead of ClusterRole permissions - Added a
--proxy-auto-injectflag to theinstallcommand,
allowing for auto-injection of sidecar containers - Added
--proxy-cpuand--proxy-memoryflags to theinstall
andinjectcommands, giving the ability to configure CPU + Memory requests - Added a
--contextflag to specify the context to use to talk
to the Kubernetes apiserver - The namespace in which Linkerd is installed is configurable via the
LINKERD_NAMESPACEenv var, in addition to the--linkerd-namespaceflag - The wait time for the
checkanddashboardcommands is
configurable via the--waitflag - The
topcommand now aggregates by HTTP method as well
- Controller
- Rename snake case fields to camel case in service profile spec
- Controller components are now prefixed with
linkerd-to
prevent name collisions with existing resources linkerd install --disable-h2-upgradeflag has been added to
control automatic HTTP/2 upgrading- Fix auto injection issue on Kubernetes
v1.9.11that would
merge, rather than append, the proxy container into the application - Fixed a few issues with auto injection via the proxy-injector webhook:
- Injected pods now execute the linkerd-init container last, to avoid
rerouting requests during pod init - Original pod labels and annotations are preserved when auto-injecting
- Injected pods now execute the linkerd-init container last, to avoid
- CLI health check now uses unified endpoint for data plane checks
- Include Licence files in all Docker images
- Proxy
- The proxy's
tapsubsystem has been reimplemented to be more
efficient and and reliable- The proxy now supports route metadata in tap queries and events
- A potential HTTP/2 window starvation bug has been fixed
- Prometheus counters now wrap properly for values greater than 2^53
- Add controller client metrics, scoped under
control_ - Canonicalize outbound names via DNS for inbound profiles
- Fix routing issue when a pod makes a request to itself
- Only include
classificationlabel onresponse_totalmetric - Remove panic when failing to get remote address
- Better logging in TCP connect error messages
- The proxy's
- Web UI
- Top routes page, served at
/routes - Route metrics are now available in the resource detail pages for
services with configured profiles - Service profiles can be created and downloaded from the Web UI
- Top Routes page, served at
/routes - Fixed a smattering of small UI issues
- Added a new Grafana dashboard for authorities
- Revamped look and feel of the Linkerd dashboard by switching
component libraries from antd to material-ui - Added a Help section in the sidebar containing useful links
- Tap and Top pages
- Added clear button to query form
- Resource Detail pages
- Limit number of resources shown in the graph
- Resource Detail page
- Better rendering of the dependency graph at the top of the page
- Unmeshed sources are now populated in the Inbound traffic table
- Sources and destinations are aligned in the popover
- Tap and Top pages
- Additional validation and polish for the form controls
- The top table clears older results when a new top call is started
- The top table now aggregates by HTTP method as well
- Top routes page, served at
edge-18.12.2
Upgrade notes: The control plane components have been renamed as of the edge-18.12.1 release to reduce possible naming collisions. To upgrade an older installation, see the Upgrade Guide.
- Controller
- Rename snake case fields to camel case in service profile spec
edge-18.12.1
Upgrade notes: The control plane components have been renamed in this release to
reduce possible naming collisions. To upgrade an existing installation:
- Install new CLI:
curl https://run.linkerd.io/install-edge | sh - Install new control plane:
linkerd install | kubectl apply -f - - Remove old deploys/cms:
kubectl -n linkerd get deploy,cm -oname | grep -v linkerd | xargs kubectl -n linkerd delete - Re-inject your applications:
linkerd inject my-app.yml | kubectl apply -f - - Remove old services:
kubectl -n linkerd get svc -oname | grep -v linkerd | xargs kubectl -n linkerd delete
For more information, see the Upgrade Guide.
- CLI
- Improved
linkerd routescommand displays per-route stats for any resource! - New Service profiles are now supported for external authorities!
- New
linkerd routes --open-apiflag generates a service profile
based on an OpenAPI specification (swagger) file
- Improved
- Web UI
- New Top routes page, served at
/routes - New Route metrics are now available in the resource detail pages for
services with configured profiles - New Service profiles can be created and downloaded from the Web UI
- New Top routes page, served at
- Controller
- Improved Controller components are now prefixed with
linkerd-to
prevent name collisions with existing resources - New
linkerd install --disable-h2-upgradeflag has been added to
control automatic HTTP/2 upgrading
- Improved Controller components are now prefixed with
- Proxy
- Improved The proxy's
tapsubsystem has been reimplemented to be more
efficient and and reliable- The proxy now supports route metadata in tap queries and events
- Fixed A potential HTTP/2 window starvation bug has been fixed
- Fixed Prometheus counters now wrap properly for values greater than
2^53 (thanks, @lucab!)
- Improved The proxy's
edge-18.11.3
- CLI
- New
linkerd routescommand displays per-route stats for services with service profiles - Experimental Add
--haflag tolinkerd installcommand, for HA deployment of the control plane (thanks @benjdlambert!)
- New
- Web UI
- Experimental Top Routes page, served at
/routes
- Experimental Top Routes page, served at
- Controller
- Fixed Fix auto injection issue on Kubernetes
v1.9.11that would merge, rather than append, the proxy container into the application
- Fixed Fix auto injection issue on Kubernetes
- Proxy
- Improved Add controller client metrics, scoped under
control_ - Improved Canonicalize outbound names via DNS for inbound profiles
- Improved Add controller client metrics, scoped under