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:
- Run the pre-upgrade checks to check that Kratix is safe to upgrade in its current state.
- Upgrade your Kratix Deployment to the new version. If no version is specified, it will upgrade to the next minor version.
- Wait for the Kratix Deployment to become healthy (ready and available).
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
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
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
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:
- Validate that the current Kratix installation is in a healthy state.
- Upgrade your Kratix Deployment to the next compatible version.
- Wait for the Kratix Deployment to become healthy (ready and available).
- Repeat the above steps until the desired version is reached.
The Operator will stop the upgrade process if:
- A new major is reached, or
- 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
Skipping checks can be useful when you need to upgrade SKE while its current state is unhealthy.