diff --git a/linkerd.io/assets/scss/styles.scss b/linkerd.io/assets/scss/styles.scss index ed407fdb0a..15f5d7e9b4 100644 --- a/linkerd.io/assets/scss/styles.scss +++ b/linkerd.io/assets/scss/styles.scss @@ -289,6 +289,27 @@ .community-card { height: 100%; + position: relative; + &.highlight { + background-color: #EAF3FA; + } +} +.emeritus{ + position: absolute; + right: 1rem; + padding: 0 0.8rem; + top: 1rem; + width: auto; + background-color: #64f9bf; + border-radius: 25px; + font-size: 0.9rem; + @media (max-width: 912px) { + right: 0; + top: 0; + padding: 0 0.7rem; + font-size: 0.7rem; + border-radius: 0px; + } } .adopters-case-studies__quote { diff --git a/linkerd.io/content/2.15/reference/k8s-versions.md b/linkerd.io/content/2.15/reference/k8s-versions.md index 3069dda13f..88f17260ff 100644 --- a/linkerd.io/content/2.15/reference/k8s-versions.md +++ b/linkerd.io/content/2.15/reference/k8s-versions.md @@ -4,30 +4,28 @@ description = "Reference documentation for which Linkerd version supports which +++ Linkerd supports all versions of Kubernetes that were supported at the time -that a given Linkerd version ships. For example, at the time that Linkerd -stable-2.14.0 shipped, Kubernetes versions 1.26, 1.27, and 1.28 were -supported, so Linkerd stable-2.14.0 supports all of those Kubernetes versions. -(In many cases, as you'll see below, Linkerd versions will also support older -Kubernetes versions.) +that a given Linkerd version ships. For example, at the time that Linkerd 2.14 +shipped, Kubernetes versions 1.26, 1.27, and 1.28 were supported, so Linkerd +2.14 supports all of those Kubernetes versions. (In many cases, as you'll see +below, Linkerd versions will also support older Kubernetes versions.) -Obviously, Linkerd stable-2.14.0 has no knowledge of what changes will come -_after_ Kubernetes 1.28. In some cases, later versions of Kubernetes end up -making changes that cause older versions of Linkerd to not work: we will -update the chart below as these situations arise. +Obviously, Linkerd 2.14 has no knowledge of what changes will come _after_ +Kubernetes 1.28. In some cases, later versions of Kubernetes end up making +changes that cause older versions of Linkerd to not work: we will update the +chart below as these situations arise. {{< table >}} | Linkerd Version | Minimum Kubernetes Version | Maximum Kubernetes Version | |-----------------|----------------------------|----------------------------| -| `stable-2.10` | `1.16` | `1.23` | -| `stable-2.11` | `1.17` | `1.23` | -| `stable-2.12` | `1.21` | `1.24` | -| `stable-2.13` | `1.21` | `1.28` | -| `stable-2.14` | `1.21` | `1.28` | +| `2.10` | `1.16` | `1.23` | +| `2.11` | `1.17` | `1.23` | +| `2.12` | `1.21` | `1.24` | +| `2.13` | `1.21` | `1.28` | +| `2.14` | `1.21` | `1.28` | +| `2.15` | `1.22` | `1.30` | {{< /table >}} -Notes: - -1. Linkerd will almost never change the supported Kubernetes version in a - minor release, which is why the table above only lists major versions. One - known exception: Linkerd 2.11.0 supported Kubernetes 1.16, but 2.11.1 and - later required Kubernetes 1.17 as shown in the table above. +Note that Linkerd will almost never change the supported Kubernetes version in +a minor release, which is why the table above only lists major versions. One +known exception: Linkerd 2.11.0 supported Kubernetes 1.16, but 2.11.1 and +later required Kubernetes 1.17 as shown in the table above. diff --git a/linkerd.io/content/2.15/tasks/install-helm.md b/linkerd.io/content/2.15/tasks/install-helm.md index 0628274ef2..af0249a009 100644 --- a/linkerd.io/content/2.15/tasks/install-helm.md +++ b/linkerd.io/content/2.15/tasks/install-helm.md @@ -40,7 +40,7 @@ page. {{< /note >}} The `linkerd-crds` chart sets up the CRDs linkerd requires: ```bash -helm install linkerd-crds linkerd/linkerd-crds \ +helm install linkerd-crds linkerd-edge/linkerd-crds \ -n linkerd --create-namespace ``` @@ -62,7 +62,7 @@ helm install linkerd-control-plane \ --set-file identityTrustAnchorsPEM=ca.crt \ --set-file identity.issuer.tls.crtPEM=issuer.crt \ --set-file identity.issuer.tls.keyPEM=issuer.key \ - linkerd/linkerd-control-plane + linkerd-edge/linkerd-control-plane ``` {{< note >}} If you are using [Linkerd's CNI plugin](../../features/cni/), you @@ -80,7 +80,7 @@ specified in those files. You can get `values-ha.yaml` by fetching the chart file: ```bash -helm fetch --untar linkerd/linkerd-control-plane +helm fetch --untar linkerd-edge/linkerd-control-plane ``` Then use the `-f` flag to provide this override file. For example: @@ -92,7 +92,7 @@ helm install linkerd-control-plane \ --set-file identity.issuer.tls.crtPEM=issuer.crt \ --set-file identity.issuer.tls.keyPEM=issuer.key \ -f linkerd-control-plane/values-ha.yaml \ - linkerd/linkerd-control-plane + linkerd-edge/linkerd-control-plane ``` ## Upgrading with Helm @@ -103,9 +103,9 @@ First, make sure your local Helm repos are updated: helm repo update helm search repo linkerd -NAME CHART VERSION APP VERSION DESCRIPTION -linkerd/linkerd-crds Linkerd gives you observability, reliability, and securit... -linkerd/linkerd-control-plane {{% latestedge %}} Linkerd gives you observability, reliability, and securit... +NAME CHART VERSION APP VERSION DESCRIPTION +linkerd-edge/linkerd-crds Linkerd gives you observability, reliability, and securit... +linkerd-edge/linkerd-control-plane {{% latestedge %}} Linkerd gives you observability, reliability, and securit... ``` During an upgrade, you must choose whether you want to reuse the values in the @@ -136,10 +136,10 @@ your `values.yaml` file. Then you can use: ```bash # the linkerd-crds chart currently doesn't have a values.yaml file -helm upgrade linkerd-crds linkerd/linkerd-crds +helm upgrade linkerd-crds linkerd-edge/linkerd-crds # whereas linkerd-control-plane does -helm upgrade linkerd-control-plane linkerd/linkerd-control-plane --reset-values -f values.yaml --atomic +helm upgrade linkerd-control-plane linkerd-edge/linkerd-control-plane --reset-values -f values.yaml --atomic ``` The `--atomic` flag will ensure that all changes are rolled back in case the diff --git a/linkerd.io/content/2.15/tasks/install.md b/linkerd.io/content/2.15/tasks/install.md index da26967ce9..143255c109 100644 --- a/linkerd.io/content/2.15/tasks/install.md +++ b/linkerd.io/content/2.15/tasks/install.md @@ -12,6 +12,19 @@ Before you can use Linkerd, you'll need to install the [control plane](../../reference/architecture/#control-plane). This page covers how to accomplish that. +{{< note >}} + +The Linkerd project itself only produces [edge release](/releases/) artifacts. +(For more information about the different kinds of Linkerd releases, see the +[Releases and Versions](/releases/) page.) + +As such, this page contains instructions for installing the latest edge +release of Linkerd. If you are using a [stable +distribution](/releases/#stable) of Linkerd, the vendor should provide +additional guidance on installing Linkerd. + +{{< /note >}} + Linkerd's control plane can be installed in two ways: with the CLI and with Helm. The CLI is convenient and easy, but for production use cases we recommend Helm which allows for repeatability. @@ -21,8 +34,6 @@ the success of the installation. See the [Getting Started Guide](../../getting-started/) for how to install the CLI if you haven't done this already. -{{< releases >}} - ## Requirements Linkerd requires a Kubernetes cluster on which to run. Where this cluster lives diff --git a/linkerd.io/content/2.15/tasks/troubleshooting.md b/linkerd.io/content/2.15/tasks/troubleshooting.md index 202921f18d..25a93b4793 100644 --- a/linkerd.io/content/2.15/tasks/troubleshooting.md +++ b/linkerd.io/content/2.15/tasks/troubleshooting.md @@ -881,12 +881,9 @@ Example failures: unsupported version channel: stable-2.14.10 ``` -As of February 2024, the Linkerd project is no longer producing open source -stable release artifacts. Please read the -[2.15 announcement](/2024/02/21/announcing-linkerd-2.15/#a-new-model-for-stable-releases) -for details. - -See [the full list of Linkerd releases](/releases/) for ways to get Linkerd. +As of February 2024, the Linkerd project itself only produces [edge +release](/releases/) artifacts. For more details, read the [Releases and +Versions](/releases/) page. @@ -919,12 +916,9 @@ Example failures: unsupported version channel: stable-2.14.10 ``` -As of February 2024, the Linkerd project is no longer producing open source -stable release artifacts. Please read the -[2.15 announcement](/2024/02/21/announcing-linkerd-2.15/#a-new-model-for-stable-releases) -for details. - -See [the full list of Linkerd releases](/releases/) for ways to get Linkerd. +As of February 2024, the Linkerd project itself only produces [edge +release](/releases/) artifacts. For more details, read the [Releases and +Versions](/releases/) page. diff --git a/linkerd.io/content/2.15/tasks/upgrade.md b/linkerd.io/content/2.15/tasks/upgrade.md index 336b464456..dec5d3e1de 100644 --- a/linkerd.io/content/2.15/tasks/upgrade.md +++ b/linkerd.io/content/2.15/tasks/upgrade.md @@ -11,9 +11,13 @@ In this guide, we'll walk you through how to perform zero-downtime upgrades for Linkerd. {{< note >}} -This page contains instructions for the latest edge release of Linkerd. If -you have installed a [stable distribution](/releases/#stable) of Linkerd, the -vendor may have additional guidance on how to upgrade. + +This page contains instructions for upgrading to the latest edge release of +Linkerd. If you have installed a [stable distribution](/releases/#stable) of +Linkerd, the vendor may have alternative guidance on how to upgrade. You can +find more information about the different kinds of Linkerd releases on the +[Releases and Versions](/releases/) page. + {{< /note >}} Read through this guide carefully. Additionally, before starting a specific @@ -29,6 +33,8 @@ may contain important information about your version. ## Version numbering +### Stable releases + For stable releases, Linkerd follows a version numbering scheme of the form `2..`. In other words, "2" is a static prefix, followed by the major version, then the minor. @@ -37,6 +43,21 @@ Changes in minor versions are intended to be backwards compatible with the previous version. Changes in major version *may* introduce breaking changes, although we try to avoid that whenever possible. +### Edge releases + +For edge releases, Linkerd issues explicit [guidance about each +release](../../../releases/#edge-release-guidance). Be sure to consult this +guidance before installing any release artifact. + +{{< note >}} + +Edge releases are **not** semantically versioned; the edge release number +itself does not give you any assurance about breaking changes, +incompatibilities, etc. Instead, this information is available in the [release +notes](https://github.com/linkerd/linkerd2/releases). + +{{< /note >}} + ## Upgrade paths The following upgrade paths are generally safe. However, before starting a @@ -44,35 +65,54 @@ deploy, it is important to check the upgrade notes before proceeding—occasionally, specific minor releases may have additional restrictions. -**Within the same major version**. It is usually safe to upgrade to the latest -minor version within the same major version. In other words, if you are -currently running version *2.x.y*, upgrading to *2.x.z*, where *z* is the latest -minor version for major version *x*, is safe. This is true even if you would -skip intermediate intermediate minor versions, i.e. it is still safe even if -*z* > *y + 1*. +**Stable within the same major version**. It is usually safe to upgrade to the +latest minor version within the same major version. In other words, if you are +currently running version *2.x.y*, upgrading to *2.x.z*, where *z* is the +latest minor version for major version *x*, is safe. This is true even if you +would skip intermediate intermediate minor versions, i.e. it is still safe +even if *z* > *y + 1*. -**To the next major version**. It is usually safe to upgrade to the latest minor -version of the *next* major version. In other words, if you are currently -running version *2.x.y*, upgrading to *2.x + 1.w* will be safe, where *w* is the -latest minor version available for major version *x + 1*. +**Stable to the next major version**. It is usually safe to upgrade to the +latest minor version of the *next* major version. In other words, if you are +currently running version *2.x.y*, upgrading to *2.x + 1.w* will be safe, +where *w* is the latest minor version available for major version *x + 1*. -**To later major versions**. Upgrades that skip one or more major versions -are not supported. Instead, you should upgrade major versions incrementally. +**Stable to a later major version**. Upgrades that skip one or more major +versions are not supported. Instead, you should upgrade major versions +incrementally. -Again, please check the upgrade notes for the specific version you are upgrading -*to* for any version-specific caveats. +**Edge release to a later edge release**. This is generally safe unless +the `Cautions` for the later edge release indicate otherwise. + +Again, please check the upgrade notes or release guidance for the specific +version you are upgrading *to* for any version-specific caveats. ## Data plane vs control plane version skew -It is usually safe to run Linkerd's control plane with the data plane from one -major version earlier. (This skew is a natural consequence of upgrading.) This -is independent of minor version, i.e. a *2.x.y* data plane and a *2.x + 1.z* -control plane will work regardless of *y* and *z*. +Since a Linkerd upgrade always starts by upgrading the control plane, there is +a period during which the control plane is running the new version, but the +data plane is still running the older version. The extent to which this skew +can be supported depends on what kind of release you're running. Note that new +features introduced by the release may not be available for workloads with +older data planes. + +### Stable releases + +For stable releases, it is usually safe to upgrade one major version at a +time. This is independent of minor version, i.e. a *2.x.y* data plane and a +*2.x + 1.z* control plane will work regardless of *y* and *z*. Please check +the version-specific upgrade notes before proceeding. -Please check the version-specific upgrade notes before proceeding. +### Edge releases -Note that new features introduced by the release may not be available for -workloads with older data planes. +For edge releases, it is also usually safe to upgrade one major version at a +time. The major version of an edge release is included in the release notes +for each edge release: for example, `edge-24.4.1` is part of Linkerd 2.15, so +it should be safe to upgrade from `edge-24.4.1` to any edge release within +Linkerd 2.15 or Linkerd 2.16. + +For any situation where this is not the case, the edge release guidance will +have more information. ## Overall upgrade process @@ -100,10 +140,17 @@ versions](../../reference/k8s-versions/). The CLI can be used to validate whether Linkerd was installed correctly. +### Stable releases + +Consult the upgrade instructions from the vendor supplying your stable release +for information about how to upgrade the CLI. + +### Edge releases + To upgrade the CLI, run: ```bash -curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh +curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh ``` Alternatively, you can download the CLI directly via the [Linkerd releases @@ -125,6 +172,9 @@ plane's existing configuration and TLS secrets are retained. Linkerd's CRDs should be upgraded first, using the `--crds` flag, followed by upgrading the control plane. +(If you are using a stable release, your vendor's upgrade instructions may +have more information.) + ```bash linkerd upgrade --crds | kubectl apply -f - linkerd upgrade | kubectl apply -f - @@ -242,12 +292,9 @@ This section contains release-specific information about upgrading. ### Upgrade notice: stable-2.15 and beyond -As of February 2024, the Linkerd project is no longer producing open source -stable release artifacts. Please read the [2.15 -announcement](/2024/02/21/announcing-linkerd-2.15/#a-new-model-for-stable-releases) -for details. - -See [the full list of Linkerd releases](/releases/) for ways to get Linkerd. +As of February 2024, the Linkerd project itself only produces [edge +release](/releases/) artifacts. The [Releases and Versions](/releases/) page +contains more information about the different kinds of Linkerd releases. ### Upgrade notice: stable-2.14.0 diff --git a/linkerd.io/content/_index.md b/linkerd.io/content/_index.md index 94453b079f..529a823f1e 100644 --- a/linkerd.io/content/_index.md +++ b/linkerd.io/content/_index.md @@ -19,11 +19,11 @@ top_hero: classname: "is-primary" stats: - property: Years in production - value: 7+ + value: 8+ - property: Slack channel members - value: 9,000+ + value: 10,000+ - property: GitHub stars - value: 15,000+ + value: 19,000+ - property: Contributors value: 500+ case_studies: diff --git a/linkerd.io/content/blog/2024/0606-edge-release-roundup.md b/linkerd.io/content/blog/2024/0606-edge-release-roundup.md new file mode 100644 index 0000000000..45a2c5d2ef --- /dev/null +++ b/linkerd.io/content/blog/2024/0606-edge-release-roundup.md @@ -0,0 +1,171 @@ +--- +author: 'flynn' +date: 2024-06-06T00:00:00Z +title: |- + Linkerd Edge Release Roundup: June 2024 +url: + /2024/06/06/linkerd-edge-release-roundup/ +thumbnail: '/uploads/2023/06/roundup-clocks-square.png' +featuredImage: '/uploads/2024/06/roundup-06-featured.png' +tags: [Linkerd, linkerd, edge, release, roundup] +featured: false +--- + +{{< fig + alt="June 2024 Linkerd Edge Release Roundup" + src="/uploads/2023/06/roundup-clocks-rect.png" >}} + +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](https://github.com/linkerd/linkerd2/issues/) or +[discussion](https://github.com/linkerd/linkerd2/discussions/), join us on +[Slack](https://slack.linkerd.io), or visit the [Buoyant Linkerd +Forum](https://linkerd.buoyant.io) -- 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. + +[knowmost]: https://github.com/knowmost +[Marwan Ahmed]: https://github.com/marwanad +[Nico Feulner]: https://github.com/nico151999 + +## 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`](https://github.com/linkerd/linkerd2/releases/tag/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`](https://github.com/linkerd/linkerd2/releases/tag/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.5`]: https://github.com/linkerd/linkerd2/releases/tag/edge-24.5.5 +[Nico Feulner]: https://github.com/nico151999 +[issue 12610]: https://github.com/linkerd/linkerd2/issues/12610 + +### [`edge-24.5.3`](https://github.com/linkerd/linkerd2/releases/tag/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`](https://github.com/linkerd/linkerd2/releases/tag/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`](https://github.com/linkerd/linkerd2/releases/tag/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]!). + +[issue #12395]: https://github.com/linkerd/linkerd2/issues/12395 +[`edge-24.3.4`]: https://github.com/linkerd/linkerd2/releases/tag/edge-24.3.4 +[`edge-24.1.2`]: https://github.com/linkerd/linkerd2/releases/tag/edge-24.1.2 +[Marwan Ahmed]: https://github.com/marwanad +[knowmost]: https://github.com/knowmost + +## Installing the latest edge release + +Installing the latest edge release needs just a single command. + +```bash +curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh +``` + +You can also [install edge releases with Helm](https://linkerd.io/2.15/tasks/install-helm/). + +## Linkerd is for everyone + +Linkerd is a graduated project of the [Cloud Native Computing +Foundation](https://cncf.io/). Linkerd is [committed to open +governance.](/2019/10/03/linkerds-commitment-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](https://github.com/linkerd/), and we have a thriving community on +[Slack](https://slack.linkerd.io/), [Twitter](https://twitter.com/linkerd), and +in [mailing lists](/community/get-involved/). 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](https://slack.linkerd.io)._ diff --git a/linkerd.io/content/blog/2024/0701-edge-release-roundup.md b/linkerd.io/content/blog/2024/0701-edge-release-roundup.md new file mode 100644 index 0000000000..6ca3c7efe4 --- /dev/null +++ b/linkerd.io/content/blog/2024/0701-edge-release-roundup.md @@ -0,0 +1,122 @@ +--- +author: 'flynn' +date: 2024-07-01T00:00:00Z +title: |- + Linkerd Edge Release Roundup: July 2024 +url: + /2024/07/01/linkerd-edge-release-roundup/ +description: |- + What you need to know about the most recent Linkerd edge releases, July 2024 edition! +thumbnail: '/uploads/2023/06/roundup-clocks-square.png' +featuredImage: '/uploads/2024/07/roundup-07-featured.png' +tags: [Linkerd, linkerd, edge, release, roundup] +featured: false +--- + +{{< fig + alt="July 2024 Linkerd Edge Release Roundup" + src="/uploads/2023/06/roundup-clocks-rect.png" >}} + +Welcome to the July 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](https://github.com/linkerd/linkerd2/issues/) or +[discussion](https://github.com/linkerd/linkerd2/discussions/), join us on +[Slack](https://slack.linkerd.io), or visit the [Buoyant Linkerd +Forum](https://linkerd.buoyant.io) -- 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 [Adrian Callejas] and +[John Howard] for their contributions! You'll find more information about all +of these contributions in the release-by-release details below. + +[Adrian Callejas]: https://github.com/acallejaszu +[John Howard]: https://github.com/howardjohn + +## Recommendations and breaking changes + +All these releases are recommended for general use, but there are two breaking +changes: + +- First, as of `edge-24.6.2`, we change the proxy's `/shutdown` endpoint to + disabled by default. If you want to reenable it, you'll need to set + `proxy.enableShutdownEndpoint` to `true` on installation or upgrade. + +- Second, as of `edge-24.6.4`, it's no longer possible - or necessary! - to + explicitly set the resource requests for `proxy-init`. There's more + information on this in the section for `edge-24.6.4`. + +## The releases + +We've mostly been fixing bugs in these edge releases. 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.6.4`](https://github.com/linkerd/linkerd2/releases/tag/edge-24.6.4) (June 27, 2024) + +This release changes the proxy-init container to always request the same +amount of memory and CPU as the proxy itself, and removes the ability to +explicitly set proxy-init's requests because there's now no need to do so. +(This doesn't increase the resources required for the pod as a +whole, because the proxy-init container completes before the proxy +starts, letting the proxy reuse resources requested by the proxy-init +container. For full details, check out [issue #11320][comment]). + +[comment]: https://github.com/linkerd/linkerd2/issues/11320#issuecomment-2186383081 + +It also continues work on upcoming GRPCRoute support. Finally, if +`proxy.logHTTPHeaders` is somehow empty, it correctly defaults to "off". + +### [`edge-24.6.3`](https://github.com/linkerd/linkerd2/releases/tag/edge-24.6.3) (June 20, 2024) + +`edge-24.6.3` adds the `linkerd.io/control-plane-ns` label to the +`ext-namespace-metadata-linkerd-config` Role, for parity with the other +resources created when installing Linkerd. + +### [`edge-24.6.2`](https://github.com/linkerd/linkerd2/releases/tag/edge-24.6.2) (June 14, 2024) + +Starting in this release, the proxy's `/shutdown` endpoint is disabled by default. It can be reenabled by setting `proxy.enableShutdownEndpoint` to `true` when installing or upgrading. Beyond that, `edge-24.6.2` fixes several bugs: EndpointSlices with no `hostname` field are supported (thanks, [Adrian Callejas]!), DNS resolution errors are correctly logged (and the resolver's log level can be configured), the proxy's administration endpoints function correctly on systems using IPv4-mapped IPv6, and the init container and CNI plugin will not attempt to start on systems that configure IPv6 but don't support `ip6tables`. Finally, it supports controlling whether or not HTTP headers are logged in debug output (with the default being "not"), JSON output for the link, unlink, allow, and allow-scrapes CLI commands, and fixes a typo in the output of `linkerd diagnostics` (thanks, [John Howard]!) + +### [`edge-24.6.1`](https://github.com/linkerd/linkerd2/releases/tag/edge-24.6.1) (June 10, 2024) + +This release adds support for JSON output to `linkerd install` and related commands. + +## Installing the latest edge release + +Installing the latest edge release needs just a single command. + +```bash +curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh +``` + +You can also [install edge releases with Helm](https://linkerd.io/2.15/tasks/install-helm/). + +## Linkerd is for everyone + +Linkerd is a graduated project of the [Cloud Native Computing +Foundation](https://cncf.io/). Linkerd is [committed to open +governance.](/2019/10/03/linkerds-commitment-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](https://github.com/linkerd/), and we have a thriving community on +[Slack](https://slack.linkerd.io/), [Twitter](https://twitter.com/linkerd), and +in [mailing lists](/community/get-involved/). 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](https://slack.linkerd.io)._ diff --git a/linkerd.io/content/community/ambassadors/_index.md b/linkerd.io/content/community/ambassadors/_index.md index 2de693b737..029eddba0a 100644 --- a/linkerd.io/content/community/ambassadors/_index.md +++ b/linkerd.io/content/community/ambassadors/_index.md @@ -17,12 +17,14 @@ ambassadors: job_title: Field Engineer image: /images/ambassadors/profile/charles-pretzer.png flag: 🇺🇸 + highlight: false github: https://github.com/cpretzer linkedin: https://www.linkedin.com/in/charlespretzer/ - name: Chris Campbell job_title: Cloud Software Engineer image: /images/ambassadors/profile/chris-campbell.png flag: 🇺🇸 + highlight: false github: https://github.com/campbel twitter: https://twitter.com/ChrsCmpbl linkedin: https://www.linkedin.com/in/chris-campbell-28410839/ @@ -30,6 +32,7 @@ ambassadors: job_title: Director of Cloud Technologies image: /images/ambassadors/profile/christian-huning.png flag: 🇩🇪 + highlight: false github: https://github.com/christianhuening twitter: https://twitter.com/chrishuen linkedin: https://www.linkedin.com/in/christian-h%C3%BCning-964191a3/ @@ -37,12 +40,14 @@ ambassadors: job_title: Junior DevOps Engineer image: /images/ambassadors/profile/dominik-taskai.jpg flag: 🇭🇺 + highlight: false github: https://github.com/dtaskai linkedin: https://www.linkedin.com/in/dtaskai/ - name: Eli Goldberg job_title: Platform Team Lead image: /images/ambassadors/profile/eli-goldberg.jpeg flag: 🇮🇱 + highlight: false github: https://github.com/Eli-Goldberg twitter: https://twitter.com/EliG0ldberg linkedin: https://www.linkedin.com/in/eli-go/ @@ -50,26 +55,22 @@ ambassadors: job_title: Developer image: /images/ambassadors/profile/fredrik-klingenberg.png flag: 🇳🇴 + highlight: false github: https://github.com/fredrkl twitter: https://twitter.com/fredrkl linkedin: https://www.linkedin.com/in/fredrikklingenberg/ - - name: Kasper Nissen - job_title: Lead Platform Architect - image: /images/ambassadors/profile/kasper-nissen.png - flag: 🇩🇰 - github: https://github.com/kaspernissen - twitter: https://twitter.com/phennex - linkedin: https://www.linkedin.com/in/kaspernissen/ - name: María Teresa Rojas job_title: SRE image: /images/ambassadors/profile/maria-rojas.png flag: 🇵🇹 + highlight: false github: https://github.com/mtrojas linkedin: https://www.linkedin.com/in/mtrojas/ - name: Sergio Méndez job_title: DevOps Engineer image: /images/ambassadors/profile/sergio-mendez.png flag: 🇬🇹 + highlight: false github: https://github.com/sergioarmgpl twitter: https://twitter.com/sergioarmgpl linkedin: https://www.linkedin.com/in/sergioarmgpl/ @@ -77,5 +78,14 @@ ambassadors: job_title: Founder & CEO image: '/images/ambassadors/profile/steve-gray.png' flag: 🇦🇺 + highlight: false linkedin: https://www.linkedin.com/in/eventualconsistency/ + - name: Kasper Nissen + job_title: Lead Platform Architect + image: /images/ambassadors/profile/kasper-nissen.png + flag: 🇩🇰 + highlight: true + github: https://github.com/kaspernissen + twitter: https://twitter.com/phennex + linkedin: https://www.linkedin.com/in/kaspernissen/ --- diff --git a/linkerd.io/content/releases/_index.md b/linkerd.io/content/releases/_index.md index d88cf58b3d..2487923272 100644 --- a/linkerd.io/content/releases/_index.md +++ b/linkerd.io/content/releases/_index.md @@ -4,51 +4,73 @@ aliases = [ "edge" ] weight = 18 +++ -Releases of Linkerd are available in several different forms. +Linkerd publishes and announces *versions* that correspond to specific project +milestones and sets of new features. These versions are available in different +types of *release artifacts*. -## Stable releases +## Recent versions -Stable release artifacts of Linkerd follow semantic versioning, whereby changes -in major version denote large feature additions and possible breaking changes -and changes in minor versions denote safe upgrades without breaking changes. +### Linkerd 2.15 + +Linkerd 2.15 was announced on February 21, 2024. -As of February 2024, Linkerd no longer provides stable release artifacts in the -open source project itself. Instead, the vendor community around Linkerd is -responsible for creating stable release artifacts. Known distributions of -Linkerd with stable release artifacts include: +- **Announcement**: [Announcing Linkerd 2.15 with mesh expansion, native +sidecars, and SPIFFE](/2024/02/21/announcing-linkerd-2.15/) +- **Code tag**: +[version-2.15](https://github.com/linkerd/linkerd2/releases/tag/version-2.15) +- **Corresponding edge release**: [edge-24.2.4](https://github.com/linkerd/linkerd2/releases/tag/edge-24.2.4) -- [Buoyant Enterprise for Linkerd](https://docs.buoyant.io/buoyant-enterprise-linkerd) - from Buoyant, creators of Linkerd. - Latest version: **enterprise-2.15.2** - [[release notes](https://docs.buoyant.io/release-notes/buoyant-enterprise-linkerd/enterprise-2.15.2/)]. +Known distributions of Linkerd 2.15: -## Edge releases +- [Buoyant Enterprise for + Linkerd](https://docs.buoyant.io/buoyant-enterprise-linkerd) from Buoyant, + creators of Linkerd. Latest version: **enterprise-2.15.4** ([release + notes](https://docs.buoyant.io/release-notes/buoyant-enterprise-linkerd/enterprise-2.15.4/)). +## Types of release artifacts + +### Edge releases + + Edge release artifacts are published on a weekly or near-weekly basis as part of -the open source project. The full list of edge release artifacts can be found on -[the Linkerd GitHub releases -page](https://github.com/linkerd/linkerd2/releases). +the open source project. The latest edge release is [{{% latestedge +%}}](https://github.com/linkerd/linkerd2/releases/tag/{{% latestedge %}}). +and the full list of edge release artifacts can be found on [the Linkerd GitHub +releases page](https://github.com/linkerd/linkerd2/releases). Edge release artifacts contain the code in from the _main_ branch at the point in time when they were cut. This means they always have the latest features and -fixes, and have undergone automated testing as well as maintianer code review. +fixes, and have undergone automated testing as well as maintainer code review. Edge releases may involve partial features that are later modified or backed out. They may also involve breaking changes—of course, we do our best to avoid this. +Edge releases are generally considered *production ready*, and the project will +mark specific releases as "not recommended" if bugs are discovered after +release. + Edge release versioning follows the form `edge-y.m.n`, where `y` is the last two digits of the year, `m` is the numeric month, and `n` is numeric edge release -count for that month. For example: +count for that month. For example, `edge-24.1.3` is the third edge release +shipped in January 2024. -- `edge-23.9.1`: the first edge release shipped in September 2023 -- `edge-24.1.3`: the third edge release shipped in January 2024 +Each major version has a corresponding edge release, indicated by +`version-2.X` tags: for example, there is a +[`version-2.15`](https://github.com/linkerd/linkerd2/releases/tag/version-2.15) +tag that corresponds to `edge-24.2.4`. Of course, you may choose to run later +edge releases, which will include further bugfixes and enhancements. Using edge release artifacts and reporting bugs helps us ensure a rapid pace of development and is a great way to help Linkerd. We publish edge release guidance as part of the release notes and strive to always provide production-ready artifacts. - +### Stable releases + +Stable release artifacts of Linkerd follow semantic versioning, whereby changes +in major version denote large feature additions and possible breaking changes +and changes in minor versions denote safe upgrades without breaking changes. -Latest version: **{{% latestedge %}}** [[release -notes](https://github.com/linkerd/linkerd2/releases/tag/{{% latestedge %}})]. +As of February 2024, the Linkerd open source project itself no longer provides +stable release artifacts. Instead, the vendor community around Linkerd is +responsible for creating stable release artifacts. diff --git a/linkerd.io/layouts/index.searchindex.json b/linkerd.io/layouts/index.searchindex.json index 6c30b1df9b..af5a3b9ec2 100644 --- a/linkerd.io/layouts/index.searchindex.json +++ b/linkerd.io/layouts/index.searchindex.json @@ -1,18 +1,22 @@ +{{- /* Ouput a json search index of all docs in the 2.15 section */ -}} {{- $pages := where site.Pages "Section" "eq" "2.15" -}} -[ - {{- range $index, $page := $pages -}} - {{- if gt $index 0 -}} , {{- end -}} - {{- $ancestors := slice "linkerd.io" -}} - {{- range .Ancestors.Reverse -}} - {{- if .IsHome }}{{ continue }}{{ end -}} - {{- $ancestors = $ancestors | append .Title -}} - {{- end -}} - {{- $entry := dict "uri" $page.Permalink -}} - {{- $entry = merge $entry (dict "title" $page.Title) -}} - {{- $entry = merge $entry (dict "ancestors" $ancestors) -}} - {{- $entry = merge $entry (dict "content" ($page.Plain | htmlUnescape | truncate 3000)) -}} - {{- $entry = merge $entry (dict "description" $page.Description) -}} - {{- $entry = merge $entry (dict "keywords" $page.Keywords) -}} - {{- $entry | jsonify -}} +{{- $.Scratch.Add "search-index" slice -}} +{{- range $index, $page := $pages -}} + {{- $ancestors := slice "linkerd.io" -}} + {{- range $page.Ancestors.Reverse -}} + {{- if .IsHome }}{{ continue }}{{ end -}} + {{- $ancestors = $ancestors | append .Title -}} {{- end -}} -] + {{- $.Scratch.Add + "search-index" + (dict + "uri" $page.Permalink + "title" $page.Title + "ancestors" $ancestors + "content" ($page.Plain | htmlUnescape | truncate 3000) + "description" $page.Description + "keywords" $page.Keywords + ) + -}} +{{- end -}} +{{- $.Scratch.Get "search-index" | jsonify -}} diff --git a/linkerd.io/layouts/partials/community/ambassadors/ambassadors.html b/linkerd.io/layouts/partials/community/ambassadors/ambassadors.html index b2c489ef9c..5bb7ae89bc 100644 --- a/linkerd.io/layouts/partials/community/ambassadors/ambassadors.html +++ b/linkerd.io/layouts/partials/community/ambassadors/ambassadors.html @@ -3,6 +3,39 @@
{{ range . }}
+ + {{ if .highlight }} +
+
+ {{ .name }} +
+
+

{{ .name }} {{ .flag }}

+

{{ .job_title }}

+ +
+ {{ with .github }} + + github icon + + {{ end }} + {{ with .twitter }} + + twitter icon + + {{ end }} + {{ with .linkedin }} + + linkedin icon + + {{ end }} +
+
+ +
Emeritus
+ +
+ {{ else }}
{{ .name }} @@ -10,25 +43,27 @@

{{ .name }} {{ .flag }}

{{ .job_title }}

-
- {{ with .github }} - - github icon - - {{ end }} - {{ with .twitter }} - - twitter icon - - {{ end }} - {{ with .linkedin }} - - linkedin icon - - {{ end }} -
+ +
+ {{ with .github }} + + github icon + + {{ end }} + {{ with .twitter }} + + twitter icon + + {{ end }} + {{ with .linkedin }} + + linkedin icon + + {{ end }} +
+ {{ end }}
{{ end }}
diff --git a/linkerd.io/layouts/partials/docs.html b/linkerd.io/layouts/partials/docs.html index 52246de1b6..f19d097414 100644 --- a/linkerd.io/layouts/partials/docs.html +++ b/linkerd.io/layouts/partials/docs.html @@ -1,7 +1,7 @@ {{ $latestVersion := site.Params.latest_linkerd2_stable_version }} -{{ $pathParts := split .page.File.Path "/" }} -{{ $docsVersion := index $pathParts 0 }} -{{ $latestDocsPath := delimit (append (after 1 $pathParts) (slice "" $latestVersion)) "/" }} +{{ $pathParts := split .page.Path "/" }} +{{ $docsVersion := index $pathParts 1 }} +{{ $latestDocsPath := delimit (append (after 2 $pathParts) (slice "" $latestVersion)) "/" }}
diff --git a/linkerd.io/package-lock.json b/linkerd.io/package-lock.json index 9108e74e90..acaca96d0f 100644 --- a/linkerd.io/package-lock.json +++ b/linkerd.io/package-lock.json @@ -1179,9 +1179,9 @@ "dev": true }, "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", "dev": true, "requires": { "async-limiter": "~1.0.0" diff --git a/linkerd.io/static/images/ambassadors/github-icon-navy.svg b/linkerd.io/static/images/ambassadors/github-icon-navy.svg new file mode 100644 index 0000000000..8d60b2f866 --- /dev/null +++ b/linkerd.io/static/images/ambassadors/github-icon-navy.svg @@ -0,0 +1,3 @@ + + + diff --git a/linkerd.io/static/images/ambassadors/linkedin-icon-navy.svg b/linkerd.io/static/images/ambassadors/linkedin-icon-navy.svg new file mode 100644 index 0000000000..60acdf19c9 --- /dev/null +++ b/linkerd.io/static/images/ambassadors/linkedin-icon-navy.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/linkerd.io/static/images/ambassadors/twitter-icon-navy.svg b/linkerd.io/static/images/ambassadors/twitter-icon-navy.svg new file mode 100644 index 0000000000..cf67465203 --- /dev/null +++ b/linkerd.io/static/images/ambassadors/twitter-icon-navy.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/linkerd.io/static/uploads/2024/06/roundup-06-featured.png b/linkerd.io/static/uploads/2024/06/roundup-06-featured.png new file mode 100644 index 0000000000..761f5de3ae Binary files /dev/null and b/linkerd.io/static/uploads/2024/06/roundup-06-featured.png differ diff --git a/linkerd.io/static/uploads/2024/07/roundup-07-featured.png b/linkerd.io/static/uploads/2024/07/roundup-07-featured.png new file mode 100644 index 0000000000..fa315ef970 Binary files /dev/null and b/linkerd.io/static/uploads/2024/07/roundup-07-featured.png differ diff --git a/linkerd.io/themes/buoyant/assets/bulma/sass/grid/columns.sass b/linkerd.io/themes/buoyant/assets/bulma/sass/grid/columns.sass index 632f0785db..63dbb5ec78 100644 --- a/linkerd.io/themes/buoyant/assets/bulma/sass/grid/columns.sass +++ b/linkerd.io/themes/buoyant/assets/bulma/sass/grid/columns.sass @@ -503,3 +503,4 @@ $column-gap: 0.75rem !default +fullhd &.is-#{$i}-fullhd --columnGap: #{$i * 0.25rem} +