Lifecycle automation upgrade

In this guide, we’ll show you how to perform zero-downtime upgrades for BEL using lifecycle automation capabilities.

This guide assumes that an existing Linkerd installation was installed with BEL’s lifecycle automation operator. If that’s not the case, see our migration guide.

BEL requires a valid license key to run, which is freely available through the Buoyant portal. Following the instructions there, you should end up with an environment variable like this:

export BUOYANT_LICENSE=[LICENSE]

The commands below require that you have this environment variable set.

The first step is to download and install the updated BEL CLI:

curl --proto '=https' --tlsv1.2 -sSfL https://enterprise.buoyant.io/install | sh

Alternatively, you can download the CLI directly via the BEL releases page.

Verify that the CLI is installed and running the expected version with:

linkerd version --client

You should see:

Client version: enterprise-2.15.2

With BEL’s lifecycle automation capabilities, it’s easy to change the version of Linkerd that’s running on your cluster. Simply change the Linkerd version specified in the ControlPlane resource, by running:

kubectl edit controlplane/cp-update

The control plane operator will first upgrade the Linkerd core control plane, and once that successfully completes, the data plane operator will restart each workload selected by the DataPlane resources, so that the pods will pick up a new version of the Linkerd proxy.