Walkthrough: Upgrading the DEF connector to version 7.0 in Kubernetes

Abstract

How to upgrade Data Exchange Framework to version 7.0 in a container deployment in Kubernetes.

This topic explains how you can upgrade Data Exchange Frame Container (DEF) 6.0 to DEF 7.0. DEF 7.0 is compatible with Sitecore 10.2.

Note

Before you upgrade DEF for container 6.0 to DEF for container 7.0, you must have an existing Sitecore 10.1 Kubernetes deployment with DEF connector. You must also back up your current mssql databases.

This walkthrough describes how to:

  • Build and push the mssql-upgrade image

  • Complete the upgrade

To upgrade DEF you must build an mssql-upgrade image.

To build and push the mssql-upgrade image:

  1. Build the images for DEF as explained in the Build the mssql-upgrade image section in Walkthrough: Upgrading Data Exchange Framework to version 7.0 in Docker.

  2. Open a PowerShell window, go to the same path as the Dockerfile, and run the following command:

    docker build. -t sitecore-def -xp1-cm:<imageVersionTag> $registry/sitecore-def-xp1-cm:<newTag>
  3. Check that the image has been created:

  4. Run the following command to push the image you created to your Azure registry. For example:

    docker push $registry/sitecore-def-xp1-cm:<newTag>

To complete the upgrade to DEF 7.0 on Sitecore 10.2:

  1. Download the Sitecore container deployment package for 10.2, and extract it to your local workstation with the folder structure intact.

  2. Navigate to the upgrade folder for the Windows version and topology you are using, for example, k8s\ltsc2019\upgrade\xp1. In the kustomization.yaml file, update the images section with newName and newTag of the custom mssql-upgrade image you created and pushed previously.

  3. In the configuration folder, update the secrets files. For more information on the secrets files, refer to the Installation Guide for Production Environment with Kubernetes guide available on the Sitecore download page.

  4. Download the DEF container deployment package for 7.0 package from the Sitecore download page. Extract it to your local workstation with the folder structure intact. Copy the DEF.Asset\k8s\<windows version>\overrides folder and paste it into the \k8s\<windows version>\ folder in the SXP 10.2 deployment structure.

  5. In the secrets folder in the SXP 10.2 structure, for example, k8s\ltsc2019\overrides\xp1\secrets, update the sitecore-tenant-service-connection-string.txt secret file.

  6. Log in to the Azure CLI and set a subscription:

    az login
    az account set --subscription "Your Subscription"
  7. Get the credentials for the Kubernetes cluster that was created with the AKS cluster by running this command:

    az aks get-credentials --resource-group <10.1 resource group>--name <10.1 cluster>
  8. To deploy the Sitecore upgrade job, go to the folder where the updated files are, for example, k8s\ltsc2019\upgrade\xp1, and run this command:

    kubectl apply -k .\
  9. To check if the job has completed, run this command:

    kubectl get pod
  10. When the upgrade process is completed, you can delete the Kubernetes upgrade job and upgrade secrets. In the console, go to the folder you used in step 2, and run these commands:

    kubectl delete -f .\
    kubectl delete -k .\

Note

Upgrading with a custom mssql-image includes cleaning up DEF items from the database because DEF 7.0 has moved to using resources files. This requires rebuilding and upgrading the Sitecore role instances cm, xconnect, and xdbsearchworker.

For detailed instructions on how to build and deploy the Sitecore role instances refer to the Sitecore Upgrade Container Deployment Guide on the Sitecore download page.