Skip to main content

Upgrade Operator v1 to v2

Speedscale Operator v2 introduces new management methods for inventory, capture, and replays. It is not backwards compatible with Speedscale Operator v1.

To upgrade to Speedscale Operator v2, follow these steps.

Confirming current version

To validate you are running Speedscale Operator v1, run the following command:

speedctl version

If your client and cluster version are below v0.12.0, then you are running Operator v1 and may proceed.

Remove Speedscale Containers from Existing Workloads

Before starting the upgrade process, you must remove the Speedscale proxy sidecar and init containers.

To do so, annotate your workloads with "true". You may use kubectl edit, kubectl annotate, or some other automation tool to accomplish this.

As an example with kubectl annotate:

kubectl annotate deployment/<your deployment>

To update all workloads in a namespace:

kubectl annotate --namespace=<your namespace> <workload type> --all

Update speedctl

You will need to get the latest speedctl client to perform the upgrade:

speedctl update

Next, you will need to edit your ~/.speedscale/config.yaml and update the container_type value to v0.12.

Changed Annotations

With the move to Operator v2, the Speedscale annotations have changed. Please see the table of annotation changes for a complete list.

Perform Upgrade

Once you have removed Speedscale from existing workloads, your process for upgrading depends on how you manage your Kubernetes environments.

  • Run the Upgrade Wizard
  • GitOps

If you use speedctl to manage your enviroment, you may begin the upgrade wizard, which will remove the operator v1 installation and replace it with operator v2.

speedctl upgrade operator

Check that the deployment was successful

Once your deployment has been upgraded, run the following to ensure the Speedscale control plane is healthy:

speedctl check operator

Add Speedscale to Your Desired Workloads

You may now install Speedscale on your target workload. You may use the speedctl install wizard, or a GitOps tool.