Skip to main content

Walkthrough: Adding the SCCH connector module to Sitecore in Azure Kubernetes Service

Abstract

How to install the Sitecore Connect for Content Hub connector on an Azure Kubernetes Service container environment.

You can add the Sitecore Connect for Content Hub (SCCH) connector to a Sitecore container environment in Azure Kubernetes Service (AKS).

This walkthrough describes how to:

  • Build the SCCH images and push them to Azure

  • Prepare files and folders for deployment

  • Deploy the containers using kubectl commands

To build the images for SCCH and push them to Azure:

  1. Build the images for SCCH as explained in Add the SCCH connector module to Sitecore in Docker.

  2. Open the Windows console and use the docker tag command to tag the images. For example:

    docker tag sitecore-chub-xp1-cm:<tag version> $registry/sitecore-chub-xp1-cm:<tag version>
  3. In the console, use the docker push command to push the images to your Azure registry. For example:

    docker push $registry/sitecore-chub-xp1-cm:<tag version>

To prepare files and folders in your installation for deployment:

  1. In the folder where you extracted the SCCH container deployment package, navigate to the SCCH\<Sitecore version>\k8s\<windows version>folder, for example, SCCH\k8s\ltsc2019. Copy the overrides subfolder to the Sitecore Experience Platform (SXP) container deployment package folder k8s\<version> (on the same level as the xp1 folder).

  2. If you are deploying to Sitecore 10.1.3 on Kubernetes, in the k8s\<version>\overrides\<topology> folder, create a subfolder and name it init. In the init subfolder, create a file, name it kustomization.yaml, and add the following instructions to it:

    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    bases:
      - ../../../<topology>/init
    images:
    - name: scr.sitecore.com/sxp/sitecore-<topology>-mssql-init
      newName: "{registry}/sitecore-chub-<topology>-mssql-init"
      newTag: tag
  3. In the overrides\<topology>\secrets folder, update each of the following files with connection string details:

    • sitecore-cmp-content-hub.txt

    • sitecore-cmp-service-bus-entity-path-in.txt

    • sitecore-cmp-service-bus-entity-path-out.txt

    • sitecore-cmp-service-bus-subscription.txt

    • sitecore-dam-content-hub.txt

    • sitecore-dam-external-redirect-key.txt

    • sitecore-dam-search-page.txt

    Note

    Each file contains an example of how the connection string looks.

Before you can deploy the containers using kubectl commands, you must prepare the AKS cluster configuration and deploy the ingress controller. For information on how to do this, see the Installation Guide for Production Environment for Kubernetes, which is available on the Sitecore download page.

To deploy the containers and the necessary Kubernetes components:

  1. Open the Windows console, and navigate to the k8s\<version> folder.

  2. Deploy the secrets. Use this command:

    kubectl apply -k ./overrides/<topology>/secrets/
  3. Run the external folder. Use this command:

    kubectl apply -k ./<topology>/external/
  4. Wait for all containers to have the status Ok/Running. You can check the status with this command:

    kubectl get pods -o wide
  5. Run the init folder:

    • If you are deploying to Sitecore 10.1.3, use this command:

      kubectl apply -k ./overrides/<topology>/init/
    • If you are deploying to any other Sitecore version, use this command:

      kubectl apply -k ./<topology>/init/
  6. Wait for all containers to have the status Completed. You can check the status with this command:

    kubectl get pods
  7. If you are using the XP1 topology, and you want to create persistent volumes, run this command:

    kubectl apply -f ./xp1/volumes/azurefile

    Note

    Persistent volumes are only available for the XP1 topology

  8. Run the Sitecore containers with the SCCH changes. Use this command:

    kubectl apply -k ./overrides/<topology>/
  9. Wait for all containers to have the status Ok/Running. You can check the status with the kubectl get pods command.

  10. To enable external access, you must update the local host file with the external IP address. To obtain the external IP address, use this command:

    kubectl get service -l app=nginx-ingress

    Note

    For information on how to update the local host file, see the Installation Guide for Production Environment for Kubernetes, which is available on the Sitecore download page.

  11. When the containers have been deployed, rebuild your search indexes.

  12. To enable the DAM functionality, configure a connection to Sitecore DAM.