Walkthrough: Upgrading SFCRM on Kubernetes

Abstract

How to upgrade the Sitecore Connect for Salesforce CRM connector on Azure Kubernetes service.

This walkthrough explains how you upgrade Sitecore Connect for Salesforce CRM (SFCRM) container in AKS from version 6.0 to 7.0.

SFCRM 7.0 is compatible with Sitecore Experience Platform (SXP) 10.2.

Before you upgrade SFCRM to version 7.0, you must have a Sitecore AKS 10.1 deployment with SFCRM 6.0 and an up to date backup of the 10.1 database.

The walkthrough describes how to:

  • Build and push the mssql-upgrade image

  • Perform upgrade

To upgrade SFCRM, you must build an mssql-upgrade image. To do so:

  1. Build the images for SFCRM as explained in the Build the mssql-upgrade image section in ???.

  2. In a PowerShell window, navigate to the folder containing the Dockerfile and build and tag the image. For example:

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

  4. Push the created image to your Azure registry. For example:

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

To upgrade SXP to version 10.2 and SFCRM to version 7.0:

  1. Download and extract Sitecore 10.2 Sitecore Container Deployment Package from the Sitecore download page. 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 attributes 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 SFCRM container deployment 7.0 package from the Sitecore download page. Extract it to your local workstation with the folder structure intact. Copy the \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-salesforce-crm-connection-string.txt secrets 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.

    az aks get-credentials --resource-group <10.2 resource group>--name <10.2 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 the following 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 the following commands:

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

Note

Upgrading with a custom mssql-image includes cleaning up SFCRM items from the database because SFCRM 7.0 has moved to using resources files. This means you must rebuild and upgrade the following 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.