Skip to main content

v5.4 (Kubernetes)

Upgrading on Kubernetes

When it comes time to upgrade your various components, you can do so by following the below instructions.

danger

Warning: Upgrading to v5.4 will require you to take your Cinchy platform offline. We recommend you perform this upgrade during off-peak hours

Prerequisites

info

If you have made custom changes to your deployment file structure, please contact your Support team before you upgrade your environments.

  • Download the latest Cinchy Artifacts from the Cinchy Releases Table > Kubernetes Artifacts column. For this upgrade, please download the Cinchy v5.4 k8s-template.zip file.

Depending on your current version, you may need to:

If you are upgrading from 5.0-5.3 to 5.4 on an SQL Server Database, you need to make a change to your connectionString if you haven't already done so. Add TrustServerCertificate=True to bypass the certificate chain during validation.

For a Kubernetes deployment, you can add this value in your deployment.json file:

"cinchy_instance_configs": {
"database_connection_string": "User ID=cinchy;Password=<password>;Host=<db_hostname>;Port=5432;Database=development;Timeout=300;Keepalive=300;TrustServerCertificate=True"}
Current VersionRun the 5.2 Upgrade ScriptConnection String Changes (SQL Server DB)
5.0YesYes
5.1YesYes
5.2XYes
5.3XYes

Take your platform offline

  1. Turn off your Cinchy platform. In a Kubernetes deployment, you can do so via ArgoCD.

Configure to the newest version

  1. Navigate to your cinchy.argocd repository. Delete all existing folder structure except for the .git file and any custom changes you may have implemented.
  2. Navigate to your cinchy.kubernetes repository. Delete all existing folder structure except for the .git file and any custom changes you may have implemented.
caution

If you have cinchy.kubernetes\cluster_components\servicemesh\istio\istio-injection\argocd-ns.yaml file and it's not commented, don't change it. Changing this will delete your ArgoCD namespace, which will force you to delete everything from Kubernetes and redeploy.

  1. Navigate to your cinchy.terraform repository. Delete all existing folder structure except for the .git file and any custom changes you may have implemented.
  2. Navigate to your cinchy.devops.automation repository. Delete all existing folder structure except for the .git file and any custom changes you may have implemented.
  3. Open the new Cinchy v5.4 k8s-template.zip file you downloaded from the Cinchy Releases table.
  4. Navigate to the new aws.json/azure.json files and compare them with your current deployment.json file. Any additional fields in the new aws.json/azure.json files should be added to your current deployment.json.
caution

Note that you may have changed the name of the deployment.json file during your original platform deployment. If so, ensure that you swap up the name wherever it appears in this document.

info

Starting in Cinchy v5.4, you will have the option between Alpine or Debian based image tags for the listener, worker, and connections. Using Debian tags will allow a Kubernetes deployment to be able to connect to a DB2 data source, and that option should be selected if you plan on leveraging a DB2 data sync.

  • When either installing or upgrading your platform, you can use the following Docker image tags for the listener, worker, and connections:
    • "5.x.x" - Alpine
    • "5.x.x-debian" - Debian
info

Perform this step only If you are upgrading to 5.4+ on an SQL Server Database. Navigate to your cinchy_instance_configs section > database_connection_string, and add in the following value to the end of your string: TrustServerCertificate=True

"cinchy_instance_configs": {
"database_connection_string": "User ID=cinchy;Password=<password>;Host=<db_hostname>;Port=5432;Database=development;Timeout=300;Keepalive=300;TrustServerCertificate=True",
}
  1. Open a shell/terminal from the cinchy.devops.automations directory and execute the following command:
dotnet Cinchy.DevOps.Automations.dll "deployment.json"
  1. Commit all your changes (if there were any) in each repository.
  2. If there were any changes in your cinchy.argocd repository you may need to redeploy ArgoCD.
    1. Launch a shell/terminal with the working directory set to the root of the cinchy.argocd repository.
    2. Execute the following command to deploy ArgoCD:
bash deploy_argocd.sh
  1. If there were any change to the cluster components, execute the following command from the cinchy.argocd repository:
bash deploy_cluster_components.sh
  1. If there were any change to the Cinchy instance, execute the following command from the cinchy.argocd repository:
bash deploy_cinchy_components.sh
  1. Log in to your ArgoCD application console and refresh the apps to ensure that all changes were picked up.

Turn on the platform and apply your configurations

  1. Turn your platform back on. In a Kubernetes deployment, you can do so via Argo CD
caution

When the new version is started for the first time, one node is made responsible for the migration of the entire database. This process can take upwards of 30 minute to complete and your system will be unavailable during this time.