Turbine 23.5.7 Upgrade Instructions
27 min
use these upgrade instructions to upgrade your instance of turbine 23 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 known issue with embedded/existing cluster/helm installations we are aware of an issue where the user is 'unable to generate a url while creating a webhook' there is a workaround for that for now this script which can be used on all deployment methods, for kots (existing or embedded clusters) and for helm deployments contact support for additional details prerequisites requires a fully functional jq software version 1 6 and all dependent packages instructions set the value for the ns variable in line 5 to the kubernetes namespace where turbine has been installed kots existing cluster and helm deployments allow setting the namespace where the app is installed kots embedded cluster should be set to “default” copy the script to a computer where you have access to the kubernetes cluster \#!/bin/bash set e \# set the kubernetes namespace where turbine is installed, this should be "default" for a turbine installation with an embedded cluster \# ns=default ns= \[\[ z $ns ]] && echo "this script requires that you set the name of the kubernetes namespace where turbine is installed in the ns variable " && exit 1 configmap=$(kubectl n $ns get configmap tenant services o jsonpath='{ data turbine\\ init\\ tenant\\ job\\ yaml}') tenants=$(kubectl get ns l "app kubernetes io/name"="tenant services" o json | jq r ' items\[] | metadata labels "tenant swimlane io/account id" + ";" + metadata labels "tenant swimlane io/tenant id"') ifs=$'\n' for i in $tenants;do accountid=$(echo $i | cut d";" f1) tenantid=$(echo $i | cut d";" f2) yaml=$(echo "$configmap" | sed r e "s/replace account id/${accountid}/g" e "s/replace tenant id/${tenantid}/g") echo "$yaml" | kubectl n tenant$tenantid apply f done run the script on the host with a command like “chmod +x script sh && /script sh" the script will show the output of the kubectl command which applies the job manifest for each tenant $ chmod +x script sh && /script sh job batch/tenant init 791dac50 10cc 4096 944f a2ae98560d1a created upgrade turbine on embedded cluster installations use the following instructions to upgrade this version of swimlane on an embedded cluster installation prerequisites turbine version 23 2 x+ mongodb 5 0 23 important! swimlane 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 ssh into any node in your deployment scale down ekco and kotsadm rqlite kubectl scale deployment ekc operator replicas=0 n kurl kubectl scale statefulsets kotsadm rqlite replicas=0 n default note if you have configured selinux, add this to the end of the command above installer spec file=se yaml execute the following command to begin the turbine platform installer component upgrade $ curl ssl https //kurl sh/turbine turbine 23 5 7 | sudo bash s ha after the install script has completed, log in to the turbine platform installer dashboard (https //\<swimlanedns> 8800) go to the version history tab and click check for updates a pop up window appears, click go to updated version and click configure click deploy on the new 23 5 7 version with the highest sequence number at the top of the versions list once the application tab shows ‘ready’ your upgrade is complete upgrade turbine on existing cluster installations prerequisites turbine version 23 2 x+ mongodb 5 0 23 kubernetes 1 22 1 27 kots kubectl plugin 1 107 3 velero 1 11 x important! swimlane 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 11 x verify if velero needs to be updated $ /velero version velero 1 11 includes a change that replaces the restic daemonset with node agent daemonset depending on what version you are upgrading from, there are different steps for patching the container images see the velero documentation for details download velero 1 11 x for your os version https //github com/vmware tanzu/velero/releases/tag/v1 11 0 untar the file and then change directory (cd) into the uncompressed directory $ tar zxf \<filename> tar gz $ cd \<directory> upgrade container images as instructed in the velero upgrade to 1 11 article confirm that both the client and server versions are on the same 1 11 0 release $ /velero version upgrade kots addon and kots app 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 tar zxf kots \<os version> tar gz rename the kots binary to kubectl kots mv kots kubectl kots move the kubectl kots binary into your path so that it can be recognized by kubectl (e g /usr/local/bin/) mv kubectl kots /usr/local/bin/ run the upgrade command kubectl kots admin console upgrade n \<namespace> when the upgrade is complete, login to the turbine installer dashboard (https //\<swimlanedns> 8800) go to the version history tab you will see a version for 23 5 7 click deploy once the preflight checks have completed 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 once the application tab shows ‘ready’ your upgrade is complete upgrade turbine on embedded airgap cluster installations prerequisites turbine version 23 2 x+if you are not on a version that is >= 11 0, contact your swimlane support representative mongodb 5 0 23 links to the offline installer package and offline airgap bundle if you do not have these linked, contact your swimlane support representative important! swimlane 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 copy the latest offline installer package to each airgapped server untar the offline installer package on each server $ tar xzvf turbine 23 5 7 tar gz scale down ekco and kotsadm rqlite kubectl scale deployment ekc operator replicas=0 n kurl kubectl scale statefulsets kotsadm rqlite replicas=0 n default run the turbine platform installer update on any node in your deployment $ cat install sh | sudo bash s airgap ha 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 run this script on node swimlane 2 to load required images before proceeding cat /tasks sh | sudo bash s load images have images been loaded on node swimlane 2? (y/n) run cat /tasks sh | sudo bash s load images on nodes two (2) and node three (3) before proceeding to run the command on node one (1) this command can be run simultaneously on nodes 2 and 3 once the load images script completes on nodes 2 and 3, enter y in the node 1 terminal session twice when the upgrade script completes, press enter on node 1 and then upload the airgap bundle to the spi dashboard log in to the turbine platform installer dashboard (https //\<swimlanedns> 8800) the sequence number “ 266” 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 go to the version history tab and click upload a new version , then browse to the turbine 23 5 7 airgap file and click upload go back to the version history tab and click on configure on 23 5 7 266 scroll down for swimlane logging level change default warn to info and save the config go back to the version history tab and click deploy on the new 23 5 7 version at the top of the versions list once the application tab shows ‘ready’ your upgrade is complete upgrade turbine on existing airgap cluster installations prerequisites turbine version 23 2 x+ mongodb 5 0 23 kubernetes 1 22 1 27 kots kubectl plugin 1 107 3 velero 1 11 x turbine 23 5 7 airgap bundle from swimlane if you do not have a download link for this, contact your swimlane support representative important! swimlane 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 11 x verify if velero needs to be updated $ /velero version velero 1 11 includes a change that replaces the restic daemonset with node agent daemonset depending on what version you are upgrading from, there are different steps for patching the container images see the velero documentation for details download velero 1 11 x for your os version https //github com/vmware tanzu/velero/releases/tag/v1 11 0 untar the file and then change directory (cd) into the uncompressed directory $ tar zxf \<filename> tar gz $ cd \<directory> update velero custom resource definitions $ /velero install crds only dry run o yaml | kubectl apply f 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 upgrade container images as instructed in the velero upgrade to 1 11 article confirm that both the client and server versions are on the same 1 11 0 release $ /velero version upgrade kots plugin and kots app download the latest spi kubectl add on see kots documentationfor how to do so a versioned link will look like this \# linux amd https //github com/replicatedhq/kots/releases/download/v1 107 3/kots linux amd64 tar gz download the latest spi offline package\ https //get swimlane io/existing cluster/install/offline package copy the latest spi kubectl add on and spi offline packages to your jumpbox $ scp kotsadm tar gz user@\<swimlanedns> /tmp/kotsadm tar gz $ scp kots \<os version> tar gz user@\<swimlanedns> /tmp/kots \<os version> tar gz untar the spi kubectl add on $ tar zxvf kots \<os version> tar gz rename or remove the original kubectl kots file $ rm /usr/local/bin/kubectl kots rename and move the latest spi kubectl add on file to /usr/local/bin/kubectl kots $ mv kots kubectl kots $ mv kubectl kots /usr/local/bin/ push the spi (kotsadm) images to your registry $ kubectl kots admin console push images kotsadm tar gz \<your registry endpoint>/\<your registry name> registry username \<username> registry password \<password> next, upgrade the swimlane platform installer (spi) $ kubectl kots admin console upgrade kotsadm registry \<your registry endpoint>/\<your registry name> registry username \<username> registry password \<password> n \<namespace> when the spi upgrade is complete, upload the turbine airgap bundle to the spi dashboard log in to the swimlane platform installer dashboard (https //\<swimlanedns> 8800) go to the version history tab and click upload a new version , then browse to the turbine 23 5 7 airgap file and click upload the sequence number “ 266” 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 go to the version history tab you will see a version for 23 5 7 and click on configure click deploy on the new 23 5 7 version at the top of the versions list once the application tab shows ‘ready’ your upgrade is complete