---
title: Turbine 24.3.5 Upgrade Instructions
slug: turbine-upgrade-guide/turbine-2435-upgrade-instructions
docTags: 
createdAt: 2025-11-30T19:35:32.651Z
---

# Turbine Upgrade Instructions

Use these upgrade instructions to upgrade your instance of Turbine 24.x. The instructions are organized by subsections of this document that will help you upgrade by specific installation type, whether you have an embedded or existing cluster installation.

For version 24.3.5 of the Turbine platform, if you encounter any issues with Swimlane tenant pods related to the database during a new installation, redeploy the application. No action is required if you are upgrading.&#x20;

## Upgrade Turbine on Embedded Cluster Installations

Use the following instructions to upgrade this version of Swimlane on an embedded cluster installation.

Prerequisites:

- Turbine version 24.3.2
- MongoDB 6.0.14

**Important!&#x20;**&#x53;wimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Embedded Cluster with Snapshots.

### Upgrade Instructions

1. SSH into any node in your deployment.&#x20;
2. Scale down EKCO and kotsadm-rqlite.
   **Note**: EKCO and Kotsadm-rqlite will automatically scale back up after the script in Step 3 has completed.&#x20;

:::BlockQuote{indent="1"}
kubectl -n kurl scale deployment ekc-operator --replicas=0&#x20;
kubectl -n default scale statefulsets kotsadm-rqlite --replicas=0&#x20;
:::

3. Execute the following command to begin the Turbine Platform Installer component upgrade:

:::BlockQuote{indent="1"}
curl -sSL https\://kurl.sh/turbine-turbine-24-3-5 | sudo bash -s ha
:::

:::Paragraph{indent="1"}
**NOTE**: If you have configured SELinux, add this to the end of the command above:&#x20;
:::

:::BlockQuote{indent="1"}
installer-spec-file=se.yaml
:::

4. After the install script has completed, log in to the Turbine Platform Installer dashboard (https\://\<SwimlaneDNS>:8800).
5. Go to the Version History tab and click **Check For Updates**.
6. A pop-up window appears, click **Go to the updated version** and click Configure.
7. Click **Deploy** on the new 24.3.5 version with the highest sequence number at the top of the versions list.
8. Once the Application tab shows ‘Ready’ your upgrade is complete.&#x20;

## Upgrade Turbine on Existing Cluster Installations

Prerequisites:

- Turbine version 24.3.2
- MongoDB 6.0.14
- Kubernetes 1.25-1.30
- KOTS kubectl plugin 1.117.3
- Velero 1.14.x

**Important!&#x20;**&#x53;wimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Existing Cluster with Snapshots.

### Upgrade Velero to 1.14.x

Verify if velero needs to be updated

:::BlockQuote
$ ./velero version
:::

Velero 1.14 includes a change that replaces the restic daemonset with the node-agent daemonset. Depending on what version you are upgrading from, there are different steps for patching the container images. See the Velero Docs - Upgrading to Velero 1.14 for details.

1. Download Velero 1.14.x for your OS version:

:::BlockQuote{indent="1"}
https\://github.com/vmware-tanzu/velero/releases/tag/v1.14.0
:::

2. Untar the file and then change directory (cd) into the uncompressed directory:

:::BlockQuote{indent="1"}
tar -zxf \<FILENAME>.tar.gz
$ cd \<DIRECTORY>
:::

3. Update Velero custom resource definitions:

:::BlockQuote{indent="1"}
$ ./velero install --crds-only --dry-run -o yaml | kubectl apply -f -
:::

4. Upgrade container images as instructed in the Velero upgrade to 1.13 article, upgrade to 1.14.
5. Confirm that both the client and server versions are on the same 1.12.0 release:&#x20;

:::BlockQuote{indent="1"}
$ ./velero version
:::

## Upgrade KOTS addon and KOTS app

Prepare the Swimlane Turbine Installer Kubectl Add-on

1. Prepare the Swimlane Turbine Installer Kubectl Add-on:
   - Download the Swimlane Turbine Installer kubectl add-on for the OS version where you run kubectl commands from:
     `Linux: https://get.swimlane.io/turbine/existing-cluster/install/linux`
     ` OSX: https://get.swimlane.io/turbine/existing-cluster/install/osx`
   - Untar the file:

:::BlockQuote{indent="2"}
tar zxf kots\_\<OS version>.tar.gz
:::

:::Paragraph{listStyleType="decimal" listStart="3" listRestartPolite="3" indent="2"}
Rename the kots binary to kubectl-kots:
:::

:::BlockQuote{indent="2"}
mv kots kubectl-kots
:::

:::Paragraph{listStyleType="decimal" listStart="4" listRestartPolite="4" indent="2"}
Move the kubectl-kotsbinary into your PATH so that it can be recognized by kubectl (e.g. /usr/local/bin/)
:::

:::BlockQuote{indent="2"}
mv kubectl-kots /usr/local/bin/
:::

2. Run the upgrade command:

:::BlockQuote{indent="1"}
kubectl kots admin-console upgrade -n \<namespace>
:::

3. When the upgrade is complete, login to the Turbine Installer dashboard (https\://\<SwimlaneDNS>:8800).
4. Go to the Version History tab - you will see a version for 24.3.5.
5. Click **Deploy** once the preflight checks have completed.
6. A new configuration is needed for the Elasticsearch persistent volume size and storageclass. Recommended sizes for small/medium/large environments are 8GB/16GB/32GB respectively.
7. Once the Application tab shows ‘Ready’ your upgrade is complete.

## Upgrade Turbine on Embedded Airgap Cluster Installations

Prerequisites:

- Turbine version 24.3.2If you are not on a version that is >= 24.3.2, contact your Swimlane support representative.
- MongoDB 6.0.14
- Links to the Offline Installer Package and Offline Airgap Bundle
  If you do not have these linked, contact your Swimlane support representative.

**Important!&#x20;**&#x53;wimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Embedded Cluster with Snapshots.

### Upgrade Instructions

**Note: If you are using version 24.3.2, the third step applies. If you are already on version 24.3.4, you can ignore this step.**

1. Copy the latest offline installer package to each airgapped server.
   Untar the offline installer package on each server.

:::BlockQuote{indent="1"}
$ tar -xzvf turbine-24.3.5.tar.gz
:::

2. Copy kubernetes-1.29.8.tar.gz on each server. The file could be downloaded in the jump server using the following command.

:::BlockQuote{indent="1"}
curl -LO https\://kurl.sh/bundle/version/v2024.09.06-0/turbine-stable-multitenant/packages/kubernetes-1.29.8.tar.gz
:::

3. Scale down EKCO and kotsadm-rqlite.

:::BlockQuote{indent="1"}
kubectl scale deployment ekc-operator --replicas=0 -n kurlkubectl scale statefulsets kotsadm-rqlite --replicas=0 -n default
:::

4. Run the Turbine Platform Installer update on any node in your deployment:

:::BlockQuote{indent="1"}
$ cat install.sh | sudo bash -s airgap ha
:::

:::Paragraph{indent="1"}
Provide the absolute of path for kubernetes-1.29.8.tar.gz , downloaded as part of step 2, when prompted during installation.
:::

5. Once the installation is complete, if you have a multi-node (HA) cluster, the script prompts you to run an additional command on every node:

:::BlockQuote{indent="1"}
Run this script on node swimlane-2 to load required images before proceeding:   &#x20;

cat ./tasks.sh | sudo bash - s load-images

Have images been loaded on node swimlane-2? (Y/n)
:::

6. Run

:::BlockQuote{indent="1"}
cat./tasks.sh | sudo bash -s load-images
:::

:::Paragraph{indent="1"}
on nodes two (2) and node three (3) before proceeding to run the command on node one (1).
:::

:::Paragraph{indent="1"}
This command can be run simultaneously on nodes 2 and 3.
Once the load-images script completes, press **Enter** on node 1 and then upload the airgap bundle to the SPI dashboard.
:::

7. When the upgrade script completes, press **Enter&#x20;**&#x6F;n node 1 and then upload the airgap bundle to the SPI dashboard.
8. Log in to the Turbine Platform Installer dashboard (https\://\<SwimlaneDNS>:8800).
9. Go to the Version History tab and click **Upload a new version**, then browse to the turbine-24.3.5.airgap file and click **Upload**.
   - The sequence number "\_XXX" of the airgap file my be higher than shown if a new sequence has been published.
   - Once the upload of the airgap completes, refresh the page or switch tabs to see the status of the new file extraction.
10. Go back to the Version History tab and click **Deploy** on the new 24.3.5 version at the top of the versions list.
11. Once the Application tab shows 'Ready', your upgrade is complete.&#x20;

## Upgrade Turbine on Existing Airgap Cluster Installations

Prerequisites

- Turbine version 24.3.2
- MongoDB 6.0.14
- Kubernetes 1.25-1.30
- KOTS kubectl plugin 1.117.3
- Velero 1.14.x
- Turbine 24.3.5 airgap bundle from Swimlane
- Contact your Swimlane support representative if you do not have a download link for this.

**Important!&#x20;**&#x53;wimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Existing Cluster with Snapshots.

### Upgrade Velero to 1.14.x

Verify if velero needs to be updated

:::BlockQuote
$ ./velero version
:::

Velero 1.14 includes a change that replaces the restic daemonset with the node-agent daemonset. Depending on what version you are upgrading from, there are different steps for patching the container images. See the  Velero Docs - Upgrading to Velero 1.14 for details. If already on Velero 1.10+:

1. Download Velero 1.14 to the jumpbox for the jumpbox's OS version:

:::BlockQuote{indent="1"}
$ ./velero install --crds-only --dry-run -o yaml | kubectl apply -f -
:::

:::Paragraph{indent="1"}
Untar the file and then change directory (cd) into the uncompressed directory:
:::

:::BlockQuote{indent="1"}
$ tar -zxf \<FILENAME>.tar.gz
$ cd \<DIRECTORY>
:::

2. Update Velero custom resource definitions:

:::BlockQuote{indent="1"}
https\://github.com/vmware-tanzu/velero/releases/tag/v1.14.3
:::

3. Download the new Velero images and push them to your private registry from your jumpbox.For specific steps on how to download and push new Velero images, see Download and Push New Velero Images.
4. Upgrade container images as instructed in the Velero article.
5. Confirm that both the client and server versions are on the same 1.12 release:&#x20;

:::BlockQuote{indent="1"}
$ ./velero version
:::

### Upgrade KOTS plugin and KOTS app:

1. Download the latest SPI Kubectl Add-on

:::Paragraph{indent="1"}
See kots documentation for how to do so. A versioned link will look like this
:::

:::BlockQuote{indent="1"}
\# Linux AMD
https\://github.com/replicatedhq/kots/releases/download/v1.117.3/kots\_linux\_amd64.tar.gz
:::

2. Download the latest SPI offline package:

:::BlockQuote{indent="1"}
curl -L https\://get.swimlane.io/existing-cluster/install/offline-package -o kotsadm.tar.gz
:::

3. Copy the latest SPI Kubectl Add-on and SPI offline packages to your jumpbox:

:::BlockQuote{indent="1"}
$ scp kotsadm.tar.gz user@\<swimlaneDNS>:/tmp/kotsadm.tar.gz
:::

:::BlockQuote{indent="1"}
$ scp kots\_\<OS version>.tar.gz user@\<swimlaneDNS>:/tmp/kots\_\<OS version>.tar.gz
:::

4. Untar the SPI Kubectl Add-on:

:::BlockQuote{indent="1"}
$ tar -zxvf kots\_\<OS version>.tar.gz
:::

5. Rename or remove the *original* kubectl-kots file:

:::BlockQuote{indent="1"}
$ rm /usr/local/bin/kubectl-kots
:::

6. Rename and move the *latest* SPI Kubectl Add-on file to/usr/local/bin/kubectl-kots

:::BlockQuote{indent="1"}
$ mv kots kubectl-kots
:::

:::BlockQuote{indent="1"}
$ mv kubectl-kots /usr/local/bin/
:::

7. Push the SPI (kotsadm) images to your registry:

:::BlockQuote{indent="1"}
$ kubectl kots admin-console push-images kotsadm.tar.gz \<your-registry-endpoint>/\<your-registry-name> --registry-username \<username> --registry-password \<password>
:::

8. Next, upgrade the Swimlane Platform Installer (SPI):

:::BlockQuote{indent="1"}
$ kubectl kots admin-console upgrade --kotsadm-registry \<your-registry-endpoint>/\<your-registry-name> --registry-username \<username> --registry-password \<password> -n \<namespace>
:::

:::Paragraph{indent="1"}
When the SPI upgrade is complete, upload the Turbine airgap bundle to the SPI dashboard.
:::

9. Log in to the Swimlane Platform Installer dashboard (https\://\<SwimlaneDNS>:8800).
10. Go to the Version History tab, click Upload a new version, then browse the turbine-24.3.5.airgap file and click **Upload**.
    - The sequence number “\_xxx” of the airgap file may be higher than shown if a new sequence has been published.
    - Once the upload of the airgap completes, refresh the page or switch tabs to see the status of the file extraction.
11. Go to the Version History tab - you will see a version for 24.3.5 and Click on configure.
12. Click Deploy on the new 24.3.5 version at the top of the versions list.
13. Once the Application tab shows ‘Ready’ your upgrade is complete.
