Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
8bfe2cf
Standardize code blocks by removing leading '$' from command examples
bezarsnba Dec 21, 2025
36f176a
fix namespace name of linkerd-cni
bezarsnba Dec 21, 2025
37bdbd4
remove ~ on comment block
bezarsnba Dec 21, 2025
6601e95
Merge branch 'main' into standardize-block-code
bezarsnba Jan 8, 2026
d3f44f8
Merge branch 'main' into standardize-block-code
bezarsnba Jan 9, 2026
32490a5
Merge branch 'main' into standardize-block-code
bezarsnba Jan 15, 2026
5b85d89
Merge branch 'main' into standardize-block-code
bezarsnba Jan 25, 2026
38f6d7a
Update linkerd.io/content/2-edge/reference/iptables.md
bezarsnba Jan 29, 2026
679e4bd
Update linkerd.io/content/2-edge/tasks/managing-egress-traffic.md
bezarsnba Jan 29, 2026
c7a1dc8
Update linkerd.io/content/2-edge/tasks/multicluster-using-statefulset…
bezarsnba Jan 29, 2026
0e2ad0b
adjust block with multi-command 2.10 to 2.12
bezarsnba Jan 31, 2026
9585281
revision troubleshooting files and others
bezarsnba Jan 31, 2026
799dd23
revision files retricting-access
bezarsnba Jan 31, 2026
970d2ce
revision _index.md
bezarsnba Jan 31, 2026
90bdda4
Apply suggestion from @kflynn
bezarsnba Jan 31, 2026
958f5f3
Apply suggestion from @kflynn
bezarsnba Jan 31, 2026
2675fc2
revision files edge2
bezarsnba Jan 31, 2026
43d883c
revison multicluster security, troubleshot and others
bezarsnba Jan 31, 2026
d8314a2
revision configurion dynamic troubleshoot and others
bezarsnba Jan 31, 2026
394b88f
revision files
bezarsnba Jan 31, 2026
5de2a73
fix comment lines
bezarsnba Jan 31, 2026
6d336d1
revision blog session
bezarsnba Jan 31, 2026
c034ec2
revert somes files and revision others
bezarsnba Jan 31, 2026
cd2f3be
revision others files
bezarsnba Jan 31, 2026
1b2565c
others revisions and reverts
bezarsnba Jan 31, 2026
90f7e61
fix somes files
bezarsnba Jan 31, 2026
bb76891
typo
bezarsnba Jan 31, 2026
4d8987c
Update linkerd.io/content/2.13/tasks/multicluster-using-statefulsets.md
bezarsnba Feb 1, 2026
46dfe3b
fix upgrade page
bezarsnba Feb 1, 2026
cadd025
revert page upgrade 2.15 and 2.16
bezarsnba Feb 1, 2026
f8bd8a1
Merge branch 'main' into standardize-block-code
bezarsnba Feb 17, 2026
7267702
revert config because we working another PR
bezarsnba Feb 18, 2026
000807a
update managing egress
bezarsnba Feb 18, 2026
8f0d56c
revert
bezarsnba Feb 18, 2026
b1c5bac
remove white space
bezarsnba Feb 18, 2026
2cf1b05
rever
bezarsnba Feb 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ haven't already done this.
Inject and install the Books demo application:

```bash
$ kubectl create ns booksapp && \
kubectl create ns booksapp && \
curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/booksapp.yml \
| linkerd inject - \
| kubectl -n booksapp apply -f -
Expand All @@ -44,21 +44,21 @@ run in the `booksapp` namespace.
Confirm that the Linkerd data plane was injected successfully:

```bash
$ linkerd check -n booksapp --proxy -o short
linkerd check -n booksapp --proxy -o short
```

You can take a quick look at all the components that were added to your cluster
by running:

```bash
$ kubectl -n booksapp get all
kubectl -n booksapp get all
```

Once the rollout has completed successfully, you can access the app itself by
port-forwarding `webapp` locally:

```bash
$ kubectl -n booksapp port-forward svc/webapp 7000 &
kubectl -n booksapp port-forward svc/webapp 7000 &
```

Open [http://localhost:7000/](http://localhost:7000/) in your browser to see the
Expand Down
2 changes: 1 addition & 1 deletion linkerd.io/content/2-edge/tasks/managing-egress-traffic.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ Interestingly enough though, if we go back to our client shell and we try to
initiate HTTPS traffic to the same service, it will not be allowed:

```bash
~ $ curl -v https://httpbin.org/get
$ curl -v https://httpbin.org/get
curl: (35) TLS connect error: error:00000000:lib(0)::reason(0)
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ The first step is to clone the demo repository on your local machine.

```sh
# clone example repository
$ git clone git@github.com:linkerd/l2d-k3d-statefulset.git
$ cd l2d-k3d-statefulset
git clone git@github.com:linkerd/l2d-k3d-statefulset.git
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This block contains command-only examples; both commands can be executed sequentially.

cd l2d-k3d-statefulset
```

The second step consists of creating two `k3d` clusters named `east` and `west`,
Expand Down Expand Up @@ -185,7 +185,7 @@ If we now curl one of these instances, we will get back a response.

```sh
# exec'd on the pod
/ $ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
$ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
"<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -255,12 +255,12 @@ NAME READY STATUS RESTARTS AGE
curl-56dc7d945d-96r6p 2/2 Running 0 23m

# exec and curl
$ kubectl --context=k3d-east exec curl-56dc7d945d-96r6p -it -c curl -- sh
kubectl --context=k3d-east exec curl-56dc7d945d-96r6p -it -c curl -- sh
# we want to curl the same hostname we see in the endpoints object above.
# however, the service and cluster domain will now be different, since we
# are in a different cluster.
#
/ $ curl nginx-set-0.nginx-svc-k3d-west.default.svc.east.cluster.local
$ curl nginx-set-0.nginx-svc-k3d-west.default.svc.east.cluster.local
<!DOCTYPE html>
<html>
<head>
Expand Down
8 changes: 4 additions & 4 deletions linkerd.io/content/2-edge/tasks/restricting-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ of requests coming to the voting service and see that all incoming requests to
the voting-grpc server are currently unauthorized:

```bash
> linkerd viz authz -n emojivoto deploy/voting
$ linkerd viz authz -n emojivoto deploy/voting
ROUTE SERVER AUTHORIZATION UNAUTHORIZED SUCCESS RPS LATENCY_P50 LATENCY_P95 LATENCY_P99
default default:all-unauthenticated default/all-unauthenticated 0.0rps 100.00% 0.1rps 1ms 1ms 1ms
probe default:all-unauthenticated default/probe 0.0rps 100.00% 0.2rps 1ms 1ms 1ms
Expand Down Expand Up @@ -112,7 +112,7 @@ the `linkerd viz auth` command queries over a time-window, you may see some
UNAUTHORIZED requests displayed for a short amount of time.

```bash
> linkerd viz authz -n emojivoto deploy/voting
$ linkerd viz authz -n emojivoto deploy/voting
ROUTE SERVER AUTHORIZATION UNAUTHORIZED SUCCESS RPS LATENCY_P50 LATENCY_P95 LATENCY_P99
default default:all-unauthenticated default/all-unauthenticated 0.0rps 100.00% 0.1rps 1ms 1ms 1ms
probe default:all-unauthenticated default/probe 0.0rps 100.00% 0.2rps 1ms 1ms 1ms
Expand All @@ -123,7 +123,7 @@ We can also test that request from other pods will be rejected by creating a
`grpcurl` pod and attempting to access the Voting service from it:

```bash
> kubectl run grpcurl --rm -it --image=networld/grpcurl --restart=Never --command -- ./grpcurl -plaintext voting-svc.emojivoto:8080 emojivoto.v1.VotingService/VoteDog
$ kubectl run grpcurl --rm -it --image=networld/grpcurl --restart=Never --command -- ./grpcurl -plaintext voting-svc.emojivoto:8080 emojivoto.v1.VotingService/VoteDog
Error invoking method "emojivoto.v1.VotingService/VoteDog": failed to query for service descriptor "emojivoto.v1.VotingService": rpc error: code = PermissionDenied desc =
pod "grpcurl" deleted
pod default/grpcurl terminated (Error)
Expand Down Expand Up @@ -153,7 +153,7 @@ following logic when deciding whether to allow a request:
We can set the default policy to `deny` using the `linkerd upgrade` command:

```bash
> linkerd upgrade --default-inbound-policy deny | kubectl apply -f -
linkerd upgrade --default-inbound-policy deny | kubectl apply -f -
```

Alternatively, default policies can be set on individual workloads or namespaces
Expand Down
10 changes: 5 additions & 5 deletions linkerd.io/content/2-edge/tasks/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -1789,12 +1789,12 @@ Make sure that the `proxy-injector` is working correctly by running
Ensure all the prometheus related resources are present and running correctly.

```bash
kubectl -n linkerd-viz get deploy,cm | grep prometheus
$ kubectl -n linkerd-viz get deploy,cm | grep prometheus
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced the ❯ prompt with $ to keep shell examples consistent across the docs.

deployment.apps/prometheus 1/1 1 1 3m18s
configmap/prometheus-config 1 3m18s
kubectl get clusterRoleBindings | grep prometheus
$ kubectl get clusterRoleBindings | grep prometheus
linkerd-linkerd-viz-prometheus ClusterRole/linkerd-linkerd-viz-prometheus 3m37s
kubectl get clusterRoles | grep prometheus
$ kubectl get clusterRoles | grep prometheus
linkerd-linkerd-viz-prometheus 2021-02-26T06:03:11Zh
```

Expand All @@ -1810,7 +1810,7 @@ Example failure:
Verify that the metrics API pod is running correctly

```bash
kubectl -n linkerd-viz get pods
$ kubectl -n linkerd-viz get pods
NAME READY STATUS RESTARTS AGE
metrics-api-7bb8cb8489-cbq4m 2/2 Running 0 4m58s
tap-injector-6b9bc6fc4-cgbr4 2/2 Running 0 4m56s
Expand Down Expand Up @@ -2166,7 +2166,7 @@ Agent version: v0.4.4
To update to the latest version:

```bash
linkerd-buoyant install | kubectl apply -f -
$ linkerd-buoyant install | kubectl apply -f -
```

### √ buoyant-cloud-agent Deployment is running a single pod
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ The first step is to clone the demo repository on your local machine.

```sh
# clone example repository
$ git clone git@github.com:mateiidavid/l2d-k3d-statefulset.git
$ cd l2d-k3d-statefulset
git clone git@github.com:mateiidavid/l2d-k3d-statefulset.git
cd l2d-k3d-statefulset
```

The second step consists of creating two `k3d` clusters named `east` and `west`,
Expand Down Expand Up @@ -186,7 +186,7 @@ If we now curl one of these instances, we will get back a response.

```sh
# exec'd on the pod
/ $ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
$ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
"<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -261,7 +261,7 @@ $ kubectl --context=k3d-east exec pod curl-56dc7d945d-96r6p -it -c curl -- bin/s
# however, the service and cluster domain will now be different, since we
# are in a different cluster.
#
/ $ curl nginx-set-0.nginx-svc-west.default.svc.east.cluster.local
$ curl nginx-set-0.nginx-svc-west.default.svc.east.cluster.local
<!DOCTYPE html>
<html>
<head>
Expand Down
8 changes: 4 additions & 4 deletions linkerd.io/content/2.12/tasks/configuring-per-route-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ haven't already done this.
Inject and install the Books demo application:

```bash
$ kubectl create ns booksapp && \
kubectl create ns booksapp && \
curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/booksapp.yml \
| linkerd inject - \
| kubectl -n booksapp apply -f -
Expand All @@ -44,21 +44,21 @@ run in the `booksapp` namespace.
Confirm that the Linkerd data plane was injected successfully:

```bash
$ linkerd check -n booksapp --proxy -o short
linkerd check -n booksapp --proxy -o short
```

You can take a quick look at all the components that were added to your cluster
by running:

```bash
$ kubectl -n booksapp get all
kubectl -n booksapp get all
```

Once the rollout has completed successfully, you can access the app itself by
port-forwarding `webapp` locally:

```bash
$ kubectl -n booksapp port-forward svc/webapp 7000 &
kubectl -n booksapp port-forward svc/webapp 7000 &
```

Open [http://localhost:7000/](http://localhost:7000/) in your browser to see the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ The first step is to clone the demo repository on your local machine.

```sh
# clone example repository
$ git clone git@github.com:mateiidavid/l2d-k3d-statefulset.git
$ cd l2d-k3d-statefulset
git clone git@github.com:mateiidavid/l2d-k3d-statefulset.git
cd l2d-k3d-statefulset
```

The second step consists of creating two `k3d` clusters named `east` and `west`,
Expand Down Expand Up @@ -186,7 +186,7 @@ If we now curl one of these instances, we will get back a response.

```sh
# exec'd on the pod
/ $ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
$ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
"<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -261,7 +261,7 @@ $ kubectl --context=k3d-east exec pod curl-56dc7d945d-96r6p -it -c curl -- bin/s
# however, the service and cluster domain will now be different, since we
# are in a different cluster.
#
/ $ curl nginx-set-0.nginx-svc-west.default.svc.east.cluster.local
$ curl nginx-set-0.nginx-svc-west.default.svc.east.cluster.local
<!DOCTYPE html>
<html>
<head>
Expand Down
4 changes: 2 additions & 2 deletions linkerd.io/content/2.12/tasks/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ remove the Helm release config for the old `linkerd2` chart (assuming you used
the "Secret" storage backend, which is the default):

```bash
$ kubectl -n default delete secret \
kubectl -n default delete secret \
--field-selector type=helm.sh/release.v1 \
-l name=linkerd,owner=helm
```
Expand Down Expand Up @@ -555,7 +555,7 @@ chart or installing the Linkerd-Viz chart. See below for a complete list of
values which have moved.

```bash
helm repo update
helm repo up
Copy link
Contributor Author

@bezarsnba bezarsnba Feb 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated helm repo update to helm repo up for consistency with other upgrade docs.
A broader cleanup to standardize on the official helm repo update command can be done separately.

# Upgrade the control plane (this will remove viz components).
helm upgrade linkerd2 linkerd/linkerd2 --reset-values -f values.yaml --atomic
# Install the Linkerd-Viz extension to restore viz functionality.
Expand Down
8 changes: 4 additions & 4 deletions linkerd.io/content/2.13/tasks/configuring-per-route-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ haven't already done this.
Inject and install the Books demo application:

```bash
$ kubectl create ns booksapp && \
kubectl create ns booksapp && \
curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/booksapp.yml \
| linkerd inject - \
| kubectl -n booksapp apply -f -
Expand All @@ -44,21 +44,21 @@ run in the `booksapp` namespace.
Confirm that the Linkerd data plane was injected successfully:

```bash
$ linkerd check -n booksapp --proxy -o short
linkerd check -n booksapp --proxy -o short
```

You can take a quick look at all the components that were added to your cluster
by running:

```bash
$ kubectl -n booksapp get all
kubectl -n booksapp get all
```

Once the rollout has completed successfully, you can access the app itself by
port-forwarding `webapp` locally:

```bash
$ kubectl -n booksapp port-forward svc/webapp 7000 &
kubectl -n booksapp port-forward svc/webapp 7000 &
```

Open [http://localhost:7000/](http://localhost:7000/) in your browser to see the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ The first step is to clone the demo repository on your local machine.

```sh
# clone example repository
$ git clone git@github.com:mateiidavid/l2d-k3d-statefulset.git
$ cd l2d-k3d-statefulset
git clone git@github.com:mateiidavid/l2d-k3d-statefulset.git
cd l2d-k3d-statefulset
```

The second step consists of creating two `k3d` clusters named `east` and `west`,
Expand Down Expand Up @@ -186,7 +186,7 @@ If we now curl one of these instances, we will get back a response.

```sh
# exec'd on the pod
/ $ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
$ curl nginx-set-0.nginx-svc.default.svc.west.cluster.local
"<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -261,7 +261,7 @@ $ kubectl --context=k3d-east exec pod curl-56dc7d945d-96r6p -it -c curl -- bin/s
# however, the service and cluster domain will now be different, since we
# are in a different cluster.
#
/ $ curl nginx-set-0.nginx-svc-west.default.svc.east.cluster.local
$ curl nginx-set-0.nginx-svc-west.default.svc.east.cluster.local
<!DOCTYPE html>
<html>
<head>
Expand Down
8 changes: 4 additions & 4 deletions linkerd.io/content/2.13/tasks/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -1721,12 +1721,12 @@ Make sure that the `proxy-injector` is working correctly by running
Ensure all the prometheus related resources are present and running correctly.

```bash
kubectl -n linkerd-viz get deploy,cm | grep prometheus
$ kubectl -n linkerd-viz get deploy,cm | grep prometheus
deployment.apps/prometheus 1/1 1 1 3m18s
configmap/prometheus-config 1 3m18s
kubectl get clusterRoleBindings | grep prometheus
$ kubectl get clusterRoleBindings | grep prometheus
linkerd-linkerd-viz-prometheus ClusterRole/linkerd-linkerd-viz-prometheus 3m37s
kubectl get clusterRoles | grep prometheus
$ kubectl get clusterRoles | grep prometheus
linkerd-linkerd-viz-prometheus 2021-02-26T06:03:11Zh
```

Expand All @@ -1742,7 +1742,7 @@ Example failure:
Verify that the metrics API pod is running correctly

```bash
kubectl -n linkerd-viz get pods
$ kubectl -n linkerd-viz get pods
NAME READY STATUS RESTARTS AGE
metrics-api-7bb8cb8489-cbq4m 2/2 Running 0 4m58s
tap-injector-6b9bc6fc4-cgbr4 2/2 Running 0 4m56s
Expand Down
2 changes: 1 addition & 1 deletion linkerd.io/content/2.13/tasks/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ remove the Helm release config for the old `linkerd2` chart (assuming you used
the "Secret" storage backend, which is the default):

```bash
$ kubectl -n default delete secret \
kubectl -n default delete secret \
--field-selector type=helm.sh/release.v1 \
-l name=linkerd,owner=helm
```
Expand Down
8 changes: 4 additions & 4 deletions linkerd.io/content/2.14/tasks/configuring-per-route-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ haven't already done this.
Inject and install the Books demo application:

```bash
$ kubectl create ns booksapp && \
kubectl create ns booksapp && \
curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/booksapp.yml \
| linkerd inject - \
| kubectl -n booksapp apply -f -
Expand All @@ -44,21 +44,21 @@ run in the `booksapp` namespace.
Confirm that the Linkerd data plane was injected successfully:

```bash
$ linkerd check -n booksapp --proxy -o short
linkerd check -n booksapp --proxy -o short
```

You can take a quick look at all the components that were added to your cluster
by running:

```bash
$ kubectl -n booksapp get all
kubectl -n booksapp get all
```

Once the rollout has completed successfully, you can access the app itself by
port-forwarding `webapp` locally:

```bash
$ kubectl -n booksapp port-forward svc/webapp 7000 &
kubectl -n booksapp port-forward svc/webapp 7000 &
```

Open [http://localhost:7000/](http://localhost:7000/) in your browser to see the
Expand Down
Loading