Skip to content

Commit

Permalink
Add supported-versions doc (#1701)
Browse files Browse the repository at this point in the history
* Add supported-versions doc

Signed-off-by: Flynn <[email protected]>

* Tweaks

Signed-off-by: Flynn <[email protected]>

* Update with minimum versions pulled from Helm charts. Update maxima per logicminds on GitHub, thanks!

Signed-off-by: Flynn <[email protected]>

* Reference K8s versions from install & upgrade task documentation.

Signed-off-by: Flynn <[email protected]>

* Whoops, fix links.

Signed-off-by: Flynn <[email protected]>

* Fix greater-than.

Signed-off-by: Flynn <[email protected]>

* Drop 2.10 & 2.11 to K8s 1.23.

Signed-off-by: Flynn <[email protected]>

---------

Signed-off-by: Flynn <[email protected]>
  • Loading branch information
kflynn authored Nov 14, 2023
1 parent c7c02ad commit ebd019e
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 2 deletions.
4 changes: 4 additions & 0 deletions linkerd.io/content/2.14/getting-started/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,10 @@ You should see the CLI version, and also `Server version: unavailable`. This is
because you haven't installed the control plane on your cluster. Don't
worry&mdash;we'll fix that soon enough.

Make sure that your Linkerd version and Kubernetes version are compatible by
checking Linkerd's [supported Kubernetes
versions](../reference/k8s-versions/).

## Step 2: Validate your Kubernetes cluster

Kubernetes clusters can be configured in many different ways. Before we can
Expand Down
31 changes: 31 additions & 0 deletions linkerd.io/content/2.14/reference/k8s-versions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
+++
title = "Supported Kubernetes Versions"
description = "Reference documentation for which Linkerd version supports which Kubernetes version"
+++

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.)

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.

| 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` |

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.
4 changes: 4 additions & 0 deletions linkerd.io/content/2.14/tasks/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ Linkerd requires a Kubernetes cluster on which to run. Where this cluster lives
is not important: it might be hosted on a cloud provider, may be running on your
local machine, or even somewhere else.

Make sure that your Linkerd version and Kubernetes version are compatible by
checking Linkerd's [supported Kubernetes
versions](../../reference/k8s-versions/).

Before installing the control plane, validate that this Kubernetes cluster is
configured appropriately for Linkerd by running:

Expand Down
8 changes: 6 additions & 2 deletions linkerd.io/content/2.14/tasks/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ restrictions.
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*.
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
Expand Down Expand Up @@ -88,6 +88,10 @@ of Linkerd is healthy, e.g. by using `linkerd check`. For major version
upgrades, you should also ensure that your data plane is up-to-date, e.g.
with `linkerd check --proxy`, to avoid unintentional version skew.

Make sure that your Linkerd version and Kubernetes version are compatible by
checking Linkerd's [supported Kubernetes
versions](../../reference/k8s-versions/).

## Upgrading the CLI

The CLI can be used to validate whether Linkerd was installed correctly.
Expand Down

0 comments on commit ebd019e

Please sign in to comment.