Operator
Use this guide to upgrade the Speedscale operator in your cluster to the latest version.
Update speedctl
You will need to get the latest speedctl client to perform the upgrade:
speedctl update
Perform Upgrade
Your process for upgrading depends on how you manage your Kubernetes environments.
- Run the Upgrade Wizard
- GitOps
- Wizard
- GitOps
- Helm
If you use speedctl
to manage your enviroment, you may begin the upgrade wizard,
which will replace your Speedscale Operator with the latest version.
speedctl upgrade operator
If you are using a GitOps engine to manage your Kubernetes resources, you will need to update your git repository with the new manifests.
- Regardless of how your GitOps engine works, you must save the contents of
the Speedscale certificates in your cluster prior to upgrading. If the
secrets are currently in git, no action is needed. To save the secrets
locally, you can run
kubectl -n speedscale get secrets speedscale-certs -o yaml > speedscale-certs.yaml
- Generate new operator manifests, but don’t push them to git yet:
speedctl deploy operator -e $(kubectl config current-context) > speedscale-operator.yaml
- Replace the
data
entry of thespeedscale-certs
Secrets inspeedscale-operator.yaml
with the data of the certs you saved in step 1. - If your workloads are stored with Speedscale annotations, be sure to review the current list of annotations before proceeding.
- Commit the contents of speedscale-operator.yaml to git
If your GitOps engine does not delete resources when removed from git, run kubectl delete mutatingwebhookconfiguration.admissionregistration.k8s.io speed-operator-mutating-webhook-configuration
If you use helm please refer to the helm chart repository for details and follow the README instructions for upgrading.
Validate
Once your deployment has been upgraded, run the following to ensure the Speedscale control plane is healthy:
speedctl check operator
Restart Sidecars
After an upgrade the next step is to restart your services to get the latest version of the Speedscale goproxy sidecar. The easiest way to do this is to run a rolling deploy, allowing the Speedscale operator to inject the latest version of the proxy as they come up.
kubectl -n <namespace> rollout restart deploy
Add Speedscale to Workloads
You can now install Speedscale on new workloads. You may use the
speedctl install
wizard, or a
GitOps
tool.