Skip to main content

Upgrades

Similar to the installation process, you can upgrade your SKE instance via the CLI, Helm, or the manifests directly.

Via the SKE CLI

To upgrade your SKE instance via the CLI, you can run:

ske upgrade [--version <desired version>]

By default, the SKE Operator will perform the following steps:

  1. Run the pre-upgrade checks to check that Kratix is safe to upgrade in its current state.
  2. Upgrade your Kratix Deployment to the new version. If no version is specified, it will upgrade to the next minor version.
  3. Wait for the Kratix Deployment to become healthy (ready and available).
tip

If the specified version is not the next minor, the SKE Operator will perform the upgrade to all the minors in between.

Upgrade checks

The SKE Operator will perform pre-upgrade checks as part of the upgrade flow.

To skip these checks, you can use the --skip-all-checks flag when starting an upgrade:

ske upgrade --skip-all-checks
tip

Skipping checks can be useful when you need to upgrade SKE while its current state is unhealthy.

Timeouts

The SKE CLI has a default 5-minute timeout for monitoring an upgrade. This can be configured by using the --timeout flag:

ske upgrade --timeout 10m0s
info

The SKE CLI timeout is only enforced while monitoring an upgrade. Timing out on the CLI will not fail the upgrade, and progress can still be monitored by checking the status of the Kratix resource.

Via Helm

Upgrade the Operator

To verify the version of the Operator installed, run the following command:

helm list

You should see the following output:

NAME            NAMESPACE    [...]    CHART                   APP VERSION
ske-operator default [...] ske-operator-0.8.0 v0.1.1

To check the available versions of the Operator, run the following command:

helm search repo syntasso/ske-operator --versions

To upgrade, run:

helm upgrade ske-operator syntasso/ske-operator \
--version <CHART VERSION> --values values.yaml

Upgrade the SKE instance

To upgrade the SKE instance, you can apply a new version to the Kratix CRD:

apiVersion: platform.syntasso.io/v1alpha1
kind: Kratix
metadata:
name: my-kratix
spec:
version: latest # Or new desired version
tip

If you set the spec.version to latest, the SKE Operator may automatically upgrade your Kratix instance to the latest compatible version of SKE, whenever a new version is available and a reconciliation loop is triggered.

At this moment, the SKE Operator will not automatically check for new versions.

By default, the SKE Operator will perform the following steps:

  1. Validate that the current Kratix installation is in a healthy state.
  2. Upgrade your Kratix Deployment to the next compatible version.
  3. Wait for the Kratix Deployment to become healthy (ready and available).
  4. Repeat the above steps until the desired version is reached.
info

The Operator will stop the upgrade process if:

  1. A new major is reached, or
  2. No valid upgrade path is found.

Patch versions on the same minor can be upgraded without restrictions.

Downgrades are not currently supported by the SKE Operator.

Via the Manifests

Upgrade the SKE Operator

To upgrade the SKE Operator, you can apply the new manifest directly:

kubectl apply -f http://s3.eu-west-2.amazonaws.com/syntasso-enterprise-releases/ske-operator/<NEW-VERSION>/ske-operator-distribution.yaml

Upgrade the SKE instance

To upgrade the SKE instance, you can apply a new version of the Kratix CRD:

apiVersion: platform.syntasso.io/v1alpha1
kind: Kratix
metadata:
name: my-kratix
spec:
version: v0.100.0 # New desired version

Upgrade checks

The SKE Operator will perform pre-upgrade checks as part of the upgrade flow.

To skip these checks, you can add the ske.syntasso.io/skip-all-upgrade-checks label when updating your .spec.version:

apiVersion: platform.syntasso.io/v1alpha1
kind: Kratix
metadata:
name: my-kratix
labels:
ske.syntasso.io/skip-all-upgrade-checks: "true"
spec:
version: v0.100.0 # New desired version
tip

Skipping checks can be useful when you need to upgrade SKE while its current state is unhealthy.