mirror of https://github.com/linkerd/linkerd2.git
Fixes issue described in [this comment](https://github.com/linkerd/linkerd2/issues/9310#issuecomment-1247201646) Rollback #7382 Should be cherry-picked back into 2.12.1 For 2.12.0, #7382 removed the env vars `_l5d_ns` and `_l5d_trustdomain` from the proxy manifest because they were no longer used anywhere. In particular, the jaeger injector used them when injecting the env var `LINKERD2_PROXY_TAP_SVC_NAME=tap.linkerd-viz.serviceaccount.identity.$(_l5d_ns).$(_l5d_trustdomain)` but then started using values.yaml entries instead of these env vars. The problem is when upgrading the core control plane (or anything else) to 2.12.0, the 2.11 jaeger extension will still be running and will attempt to inject the old env var into the pods, making reference to `l5d_ns` and `_l5d_trustdomain` which the new proxy container won't offer anymore. This will put the pod in an error state. This change restores back those env vars. We will be able to remove them at last in 2.13.0, when presumably the jaeger injector would already have already been upgraded to 2.12 by the user. Replication steps: ```bash $ curl -sL https://run.linkerd.io/install | LINKERD2_VERSION=stable-2.11.4 sh $ linkerd install | k apply -f - $ linkerd jaeger install | k apply -f - $ linkerd check $ curl -sL https://run.linkerd.io/install | LINKERD2_VERSION=stable-2.12.0 sh $ linkerd upgrade --crds | k apply -f - $ linkerd upgrade | k apply -f - $ k get po -n linkerd NAME READY STATUS RESTARTS AGE linkerd-identity-58544dfd8-jbgkb 2/2 Running 0 2m19s linkerd-destination-764bf6785b-v8cj6 4/4 Running 0 2m19s linkerd-proxy-injector-6d4b8c9689-zvxv2 2/2 Running 0 2m19s linkerd-identity-55bfbf9cd4-4xk9g 0/2 CrashLoopBackOff 1 (5s ago) 32s linkerd-proxy-injector-5b67589678-mtklx 0/2 CrashLoopBackOff 1 (5s ago) 32s linkerd-destination-ff9b5f67b-jw8w5 0/4 PostStartHookError 0 (8s ago) 32s ``` |
||
|---|---|---|
| .. | ||
| annotation.patch.json | ||
| deployment-inject-disabled.yaml | ||
| deployment-with-injected-proxy.yaml | ||
| filter-pod-opaque-ports.yaml | ||
| filter-service-opaque-ports.yaml | ||
| filtered-pod-opaque-ports.json | ||
| filtered-service-opaque-ports.json | ||
| inject-init-container-spec.yaml | ||
| inject-linkerd-secrets-volume-spec.yaml | ||
| namespace-inject-disabled.yaml | ||
| namespace-inject-enabled.yaml | ||
| namespace-with-opaque-ports.yaml | ||
| pod-inject-empty.yaml | ||
| pod-inject-enabled.yaml | ||
| pod-with-debug-disabled.yaml | ||
| pod-with-debug-enabled.yaml | ||
| pod-with-debug.patch.json | ||
| pod-with-ns-annotations.patch.json | ||
| pod-with-opaque-ports.yaml | ||
| pod-without-opaque-ports.yaml | ||
| pod.patch.json | ||
| service-with-opaque-ports.yaml | ||
| service-without-opaque-ports.yaml | ||