Skip to content

Commit

Permalink
Merge branch 'main' into matei/protocol-detect
Browse files Browse the repository at this point in the history
  • Loading branch information
kflynn authored Dec 11, 2023
2 parents 9526760 + 1764a37 commit a699f3c
Show file tree
Hide file tree
Showing 129 changed files with 666 additions and 805 deletions.
343 changes: 147 additions & 196 deletions linkerd.io/assets/scss/styles.scss

Large diffs are not rendered by default.

11 changes: 9 additions & 2 deletions linkerd.io/content/2-edge/tasks/configuring-retries.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ for a tutorial of how to configure retries.

## Retries

For routes that are idempotent and don't have bodies, you can edit the service
profile and add `isRetryable` to the retryable route:
For routes that are idempotent, you can edit the service profile and add
`isRetryable` to the retryable route:

```yaml
spec:
Expand All @@ -47,6 +47,13 @@ spec:
isRetryable: true ### ADD THIS LINE ###
```
Retries are supported for _all_ idempotent requests, whatever verb they use,
and [whether or not they have a body]. In particular, this mean that gRPC
requests can be retried. However, requests will not be retried if the body
exceeds 64KiB.
[whether or not they have a body]:../../../2021/10/26/how-linkerd-retries-http-requests-with-bodies/
## Retry Budgets
A retry budget is a mechanism that limits the number of retries that can be
Expand Down
11 changes: 9 additions & 2 deletions linkerd.io/content/2.11/tasks/configuring-retries.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ for a tutorial of how to configure retries.

## Retries

For routes that are idempotent and don't have bodies, you can edit the service
profile and add `isRetryable` to the retryable route:
For routes that are idempotent, you can edit the service profile and add
`isRetryable` to the retryable route:

```yaml
spec:
Expand All @@ -39,6 +39,13 @@ spec:
isRetryable: true ### ADD THIS LINE ###
```
Retries are supported for _all_ idempotent requests, whatever verb they use,
and [whether or not they have a body]. In particular, this mean that gRPC
requests can be retried. However, requests will not be retried if the body
exceeds 64KiB.
[whether or not they have a body]:../../../2021/10/26/how-linkerd-retries-http-requests-with-bodies/
## Retry Budgets
A retry budget is a mechanism that limits the number of retries that can be
Expand Down
11 changes: 9 additions & 2 deletions linkerd.io/content/2.12/tasks/configuring-retries.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ for a tutorial of how to configure retries.

## Retries

For routes that are idempotent and don't have bodies, you can edit the service
profile and add `isRetryable` to the retryable route:
For routes that are idempotent, you can edit the service profile and add
`isRetryable` to the retryable route:

```yaml
spec:
Expand All @@ -47,6 +47,13 @@ spec:
isRetryable: true ### ADD THIS LINE ###
```
Retries are supported for _all_ idempotent requests, whatever verb they use,
and [whether or not they have a body]. In particular, this mean that gRPC
requests can be retried. However, requests will not be retried if the body
exceeds 64KiB.
[whether or not they have a body]:../../../2021/10/26/how-linkerd-retries-http-requests-with-bodies/
## Retry Budgets
A retry budget is a mechanism that limits the number of retries that can be
Expand Down
11 changes: 9 additions & 2 deletions linkerd.io/content/2.13/tasks/configuring-retries.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ for a tutorial of how to configure retries.

## Retries

For routes that are idempotent and don't have bodies, you can edit the service
profile and add `isRetryable` to the retryable route:
For routes that are idempotent, you can edit the service profile and add
`isRetryable` to the retryable route:

```yaml
spec:
Expand All @@ -47,6 +47,13 @@ spec:
isRetryable: true ### ADD THIS LINE ###
```
Retries are supported for _all_ idempotent requests, whatever verb they use,
and [whether or not they have a body]. In particular, this mean that gRPC
requests can be retried. However, requests will not be retried if the body
exceeds 64KiB.
[whether or not they have a body]:../../../2021/10/26/how-linkerd-retries-http-requests-with-bodies/
## Retry Budgets
A retry budget is a mechanism that limits the number of retries that can be
Expand Down
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—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
33 changes: 33 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,33 @@
+++
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.

{{< 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` |
{{< /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.
11 changes: 9 additions & 2 deletions linkerd.io/content/2.14/tasks/configuring-retries.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ for a tutorial of how to configure retries.

## Retries

For routes that are idempotent and don't have bodies, you can edit the service
profile and add `isRetryable` to the retryable route:
For routes that are idempotent, you can edit the service profile and add
`isRetryable` to the retryable route:

```yaml
spec:
Expand All @@ -47,6 +47,13 @@ spec:
isRetryable: true ### ADD THIS LINE ###
```
Retries are supported for _all_ idempotent requests, whatever verb they use,
and [whether or not they have a body]. In particular, this mean that gRPC
requests can be retried. However, requests will not be retried if the body
exceeds 64KiB.
[whether or not they have a body]:../../../2021/10/26/how-linkerd-retries-http-requests-with-bodies/
## Retry Budgets
A retry budget is a mechanism that limits the number of retries that can be
Expand Down
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
2 changes: 1 addition & 1 deletion linkerd.io/content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords:
outputs:
- html
announcement_banner:
description: "2023-11-07 [Mesh expansion and SPIFFE support arriving in the upcoming Linkerd 2.15! **Read more &raquo;**](/2023/11/07/linkerd-mesh-expansion/)"
description: "[NEW EBOOK: Linkerd Up and Running by O'Reilly &gt; **Download ebook**](https://buoyant.io/download/linkerd-up-and-running)"
top_hero:
title: The world's most advanced service mesh
description: Enterprise power *without* enterprise complexity. Linkerd adds
Expand Down
49 changes: 49 additions & 0 deletions linkerd.io/content/blog/2023/1122-linkerd-hero.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
author: flynn
date: 2023-11-22T00:00:00Z
title: Announcing the November 2023 Linkerd Hero!
description: |-
We are excited to announce this month's Linkerd Hero: Takumi Sue, for
contributing to Linkerd and making it better for the entire community!
url:
/2023/11/22/announcing-the-november-2023-linkerd-hero/
featuredImage: '/uploads/2023/11/mikutas-banner.png'
thumbnail: '/uploads/2023/11/mikutas-thumbnail.png'
tags: [ Community, Hero ]
keywords: [hero, community, contributor, code]
items: []
---

We are excited to announce this month's Linkerd Hero: Takumi Sue. Congrats,
Takumi!

## What are Linkerd Heroes?

Linkerd Heroes are community members who best represent the spirit of the
Linkerd community. Whether it's helping others, answering questions, sharing
their successes (and failures!) with the world at large, or contributing code
or docs, Linkerd Heroes are instrumental in making the Linkerd community the
amazing place it is today.

## Congrats, Takumi Sue!

This month's hero is [Takumi Sue](https://github.com/mikutas). Over the past
three years, Takumi has regularly contributed fixes to Linkerd’s code base.
From CLI fixes to Helm template and control plane changes, Takumi has
positively impacted the project. Thank you for being such a prolific
contributor and dedicating your time to making Linkerd an even more awesome
project!

![Takumi Sue](/uploads/2023/11/mikutas-banner.png)

## Nominate next month's Linkerd Hero

Linkerd Heroes take many forms. Perhaps someone has answered your or the
community's pressing questions on Slack. Maybe you've read a blog post or
watched a conference talk that helped spur your decision-making process or
advance your Linkerd implementation. Or perhaps someone contributed an awesome
Linkerd feature or bugfix that has made your life a lot easier. Who is your
Linkerd Hero? Submit your nomination for [next month's hero
here!](https://docs.google.com/forms/d/e/1FAIpQLSfNv--UnbbZSzW7J3SbREIMI-HaooyX9im8yLIGB7M_LKT_Fw/viewform?usp=sf_link)

For those who nominated someone, thank you for participating!
77 changes: 63 additions & 14 deletions linkerd.io/content/community/adopters/_index.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,88 @@
---
title: Linkerd 2.x Adopters
description: Here are some of the organizations we know are using Linkerd 2.x. If you're using Linkerd 2.x and aren't on this list, [please submit a pull request!](https://github.com/linkerd/linkerd2/edit/main/ADOPTERS.md)
description: "Here are some of the organizations we know are using Linkerd 2.x.
If you're using Linkerd 2.x and aren't on this list,
[please submit a pull request!](https://github.com/linkerd/linkerd2/edit/main/ADOPTERS.md)"
layout: adopters
top_hero:
title: Linkerd 2.x Adopters
description: "Here are some of the organizations we know are using
Linkerd 2.x. If you're using Linkerd 2.x and aren't on this list,
[please submit a pull request!](https://github.com/linkerd/linkerd2/edit/main/ADOPTERS.md)"
case_studies:
- image: /images/adopters/xbox.png
- title: "Service Mesh at Scale: How Xbox Cloud Gaming Secures 22,000 Pods
with Linkerd"
description: "We have offloaded the time and effort needed to develop and
maintain the in-house mTLS solution, saving valuable engineering hours."
image: /images/adopters/xbox.png
alt: Xbox
link: https://buoyant.io/case-studies/xbox/
- image: /images/adopters/adidasb.png
- title: "Zero-Cost Linkerd at Adidas: Impossible Is Nothing"
description: "All our observability gaps were closed, ...we saw a reduction in
failed requests, and experienced cost reduction due to better performance."
image: /images/adopters/adidasb.png
alt: Adidas
link: https://buoyant.io/case-studies/adidas
- image: /images/adopters/db-schenker.png
link: https://buoyant.io/case-studies/adidas/
- title: "How DB Schenker AG Migrated Clouds with Zero Downtime"
description: "[Linkerd] started as our cloud migration tool and ended up
being our service mesh of choice."
image: /images/adopters/db-schenker.png
alt: DB Schenker
link: https://buoyant.io/case-studies/schenker/
- image: /images/adopters/penn-state.png
- title: "Scheduling 68,000 COVID Tests with Linkerd"
description: "With Linkerd, we get a lot of capabilities with a lot less
complexity. mTLS and free retries are great, but the real benefit we got,
was observability."
image: /images/adopters/penn-state.png
alt: Penn State
link: https://buoyant.io/case-studies/penn-state/
- image: /images/adopters/entain-logo.png
- title: "Realizing 10x Throughput While Driving Down Costs, with Linkerd"
description: "Because of Linkerd, we’ve been able to easily increase the
platform capacity by over 10x, reduce operating costs, and better hit our
availability targets"
image: /images/adopters/entain-logo.png
alt: Entain
link: https://buoyant.io/case-studies/entain/
- image: /images/adopters/elkjop.svg
- title: "How a $4 billion retail giant built an enterprise-grade Kubernetes
platform powered by Linkerd"
description: "We desperately needed insights into what was happening in the cluster and the new microservices architecture. Without the observability that Linkerd gave us"
image: /images/adopters/elkjop.svg
alt: Elkjøp
link: https://buoyant.io/case-studies/how-a-4-billion-retail-giant-built-an-enterprise-grade-kubernetes-platform-powered-by-linkerd/
- image: /images/adopters/connect.svg
link: https://buoyant.io/case-studies/elkjop/
- title: "Operating high-density bare-metal clusters in the highly regulated
financial industry"
description: "It was a huge undertaking — especially considering our tight
deadline of five months! To our surprise, the mTLS aspect was fairly easy"
image: /images/adopters/connect.svg
alt: FinLeap Connect
link: https://buoyant.io/case-studies/finleap/
- image: /images/adopters/nordstorm.svg
- title: "Scale Global Ecommerce Infrastructure and Safeguard Customer PPI"
description: "We rely on Linkerd to help keep customer PPI confidential. If
you want TLS, Linkerd takes care of it within the cluster automatically"
image: /images/adopters/nordstorm.svg
alt: Nordstrom
link: https://buoyant.io/case-studies/nordstrom/
- image: /images/adopters/paybase.svg
- title: "Paybase: Simplify Operations and Improve Observability with a
Lightweight Service Mesh"
description: "We have been very happy with the results of installing Linkerd.
It alleviates a lot of headaches and takes a minimal amount of management
time"
image: /images/adopters/paybase.svg
alt: Paybase
link: https://buoyant.io/case-studies/paybase/
- image: /images/adopters/subspace.svg
- title: "Rapidly Triage Performance Issues to Deliver a Real-time Gaming
Experience"
description: "With the real-time nature of our platform, low latency is a
critical factor for us. Linkerd helps our team do rapid triage"
image: /images/adopters/subspace.svg
alt: Subspace
link: https://buoyant.io/case-studies/subspace/
- image: /images/adopters/salt-security.png
- title: "How Linkerd improved Salt's platform efficiency, reliability,
performance within one week"
description: "We started with Linkerd and it turned out to be so easy to get
started that we gave up on evaluating the other two — we loved it from the
get-go"
image: /images/adopters/salt-security.png
alt: Salt Security
link: https://buoyant.io/case-studies/salt-security/
adopters:
Expand Down
14 changes: 5 additions & 9 deletions linkerd.io/content/community/ambassadors/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,13 @@ description: "The Linkerd Ambassador badge is a distinction awarded to those
expertise, passion, engagement, and a commitment to sharing their Linkerd
experience."
layout: ambassadors
thumbnail: "/uploads/ambassadors-emblem.png"
top_hero:
title: Linkerd Ambassadors
image:
src: /images/ambassadors/emblem.svg
alt: Linkerd Ambassadors Emblem
intro: The Linkerd Ambassador badge is a distinction awarded to those community
members who are experts in their field and who demonstrate expertise, passion,
engagement, and a commitment to sharing their Linkerd experience with the
broader community. Linkerd Ambassadors are hand-picked by the Linkerd
maintainers.
description: "The Linkerd Ambassador badge is a distinction awarded to those
community members who are experts in their field and who demonstrate
expertise, passion, engagement, and a commitment to sharing their Linkerd
experience with the broader community. Linkerd Ambassadors are hand-picked
by the Linkerd maintainers."
ambassadors:
- name: Charles Pretzer
job_title: Field Engineer
Expand Down
Loading

0 comments on commit a699f3c

Please sign in to comment.