Upgrade Portworx addon for TKGI cluster
Bosh Director ensures the upgrades to Portworx TKGI clusters are performed with minimal disruption to the cluster's availability and functionality.
To ensure a seamless upgrade of your TKGI cluster with Portworx, it's important to have the latest version of the Portworx addon. Follow these steps on a machine where you have access to the Bosh CLI
Check your current Bosh Director addon version
Run the following to check the version:
bosh -e director-environment runtime-config
If your addon version is 2.0.0, you can skip the following steps and proceed with upgrading your TKGI environment.
Upload a Portworx release to your Bosh Director environment
- Clone the
portworx-stop-bosh-release
repositories:git clone https://github.com/portworx/portworx-stop-bosh-release.git
cd portworx-stop-bosh-release - Create the Portworx release with a final version (in this example, version 2.0.0) using the Bosh CLI:
mkdir src
bosh create-release --final --version=2.0.0
1. Verify that you have a addon version 2.0.0:
```bash
cat master/runtime-configs/director-runtime-config.yaml
- Replace
<director-environment>
with your actual environment details and upload the release:bosh -e <director-environment> upload-release
Upgrade the addon on the Bosh Director
- Append the existing addon YAML file in your runtime config with runtime-configs/director-runtime-config.yaml.
- Update the runtime config in the Director:
bosh -e director-environment update-runtime-config runtime-configs/director-runtime-config.yaml
Apply the changes
After the runtime config is updated, perform the following steps:
- Navigate to the Installation Dashboard of Tanzu Operations Mangager Interface
- Click on Review Pending Changes and apply the changes.
While reviewing the pending changes above, if you removed the selection for Upgrade all clusters errands option under Errands for the Tanzu Kubernetes Grid Integration Edition tile, run the following commands to reconfigure your addon:
bosh manifest -d <deployment-name> >./<deployment-name>-manifest.yaml
bosh -d <deployment-name> deploy ./<deployment-name>-manifest.yaml
For all necessary flags for this command, refer to the Deploy details in the Bosh documentation.
Additional steps for sharedv4 volumes
If your cluster uses sharedv4 volumes, it's important to align the unmounting order of Portworx sharedv4 volumes with the updated sequence of Kubernetes add-on checks for sharedv4 volume mounts. To adjust the sequence of the unmounting of sharedv4 volumes so that they are unmounted when the Kubernetes add-on performs its checks, you must run the fix-shared-vol-script.sh
script.
- For the script to run seamlessly, set the
BOSH_DEPLOYMENT
environment variable to your Portworx deployment:export BOSH_DEPLOYMENT=<px-deployment-id>
- Run the following script located in the
portworx-stop-bosh-release/ scripts
folder:fix-shared-vol-script.sh
Once you have upgraded the Portworx addon, you are ready to upgrade your TKGI cluster to the desired version.