v5.4 (Kubernetes)

1. Upgrading on Kubernetes

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

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

Warning: If you are upgrading from Cinchy v5.1 or lower to Cinchy v5.4, you must first run a mandatory process (Upgrade 5.2) using the Cinchy Utility and deploy version 5.2. Once complete, you can continue on with your 5.4 upgrade.

If you are upgrading to 5.4+ on an SQL Server Database, you will need to make a change to your connectionString. Adding TrustServerCertificate=True will allow you 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",

2. Prerequisites

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

3. Take your Platform Offline

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

4. Configuring 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.

If you have cinchy.kubernetes\cluster_components\servicemesh\istio\istio-injection\argocd-ns.yaml file and it is not commented then please keep it as it is. 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.

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.

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

3. 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 of 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.

1.3 Turn your Platform On and Apply your Configurations

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

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.

Last updated