...
1# Upgrading Linkerd
2
3## Steps to upgrade linkerd helm chart
4
51. Update the linkerd version in `.version.bzl`.
62. Run the following to retrieve the checksum for the helm chart. Replace the value for `RELEASE_CHECKSUM`.
7
8 ```bash
9 wget https://github.com/linkerd/linkerd2/archive/refs/tags/edge-24.5.5.tar.gz && sha256sum edge-24.5.5.tar.gz && rm -rf edge-24.5.5.tar.gz
10 ```
11
123. Run `just third_party/k8s/linkerd/update` to update linkerd helm chart and files.
134. Change the init proxy version variable `PROXY_INIT_VERSION` in `.version.bzl` to the output of `just third_party/k8s/linkerd/print-proxy-init-version`.
145. Change the `version` and `proxy_init_version` in `justfile`.
15
16## Steps to upgrade the linkerd container images
17
181. Run the following bazel commands. This will print out the container digests for linkerd and the init proxy.
19
20 ```
21 bazel run --config=quiet //third_party/k8s/linkerd:print-proxy-init-digests
22 bazel run --config=quiet //third_party/k8s/linkerd:print-linkerd-digests
23 ```
24
252. Copy the digests for both the linkerd containers and proxy init container to `digests.bzl`.
263. The output of `digests.bzl` should look something like the following.
27
28 ```
29 """List of all digests for container images"""
30 DEBUG_DIGEST = "sha256:f659c2dd9ff244f94d6b8e58d0ab34149625d0208ae60d9ad40d7de7e35a907e"
31 CONTROLLER_DIGEST = "sha256:d186c2c06ea586163ac4b0cd4c34c5c63f0e850369c8cf46ab3322d9e7d16ec8"
32 PROXY_DIGEST = "sha256:7afe16f9e39597b77c944fba302d1de6bcf536c591f6499d104ca0e08214551c"
33 POLICY_CONTROLLER_DIGEST = "sha256:2b8b21b233c3ecccbf28429c2fece814383b50ef47d62df7eb58a05ef1819cd3"
34 PROXY_INIT_DIGEST = "sha256:25776f5d7f1f4061758d41ea9dec9b8520364c04a37d382268264fe91ed15cbb"
35 ```
36
37# Testing
38## Fetch and pack
39Both of these commands should pass and the pallet should render.
40
411. Attempt to fetch the container images:
42
43 ```bash
44 just third_party/k8s/linkerd/test-container-pull
45 ```
46
472. Pack the pallet:
48
49 ```bash
50 lift pack config/pallets/linkerdctl/controller/linkerd
51 ```
52
53## Apply
54Ensure to apply the Linkerd pallet to an Edge O/S store and verify the upgrade is successful and existing/new pods/workloads are meshed. `airfryer` and `slowcooker` should also be used for testing.
55
561. Update `config/pallets/linkerdctl/controller/base/deployment.yaml` to add this to `spec.template.spec.containers[0]`:
57 ```yaml
58 env:
59 - name: REGISTRY
60 value: us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads
61 ```
622. `lift apply <store> --registry=us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads config/pallets/linkerdctl/controller/linkerd` where `<store>` contains required parameters such as `--cluster-uuid=...`
633. Remove amendment to `config/pallets/linkerdctl/controller/base/deployment.yaml` (it is only for testing purposes).
View as plain text