...

Text file src/edge-infra.dev/third_party/k8s/linkerd/UPGRADING_LINKERD.md

Documentation: edge-infra.dev/third_party/k8s/linkerd

     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