Walkthrough: Installing Data Exchange Framework in Azure Kubernetes Service
You can install Data Exchange Framework (DEF) in a container environment using Azure Kubernetes Service (AKS).This walkthrough describes how to:
-
Push images to Azure
-
Prepare configuration files for deployment
-
Deploy the containers
Push images to Azure
To push the image files for DEF to Azure:
-
You must prepare the installation files and images as explained in Walkthrough: Preparing to install Data Exchange Framework in a container environment.
-
Tag the images with the
docker tagcommand. For example:RequestResponsedocker tag sitecore-def-xp0-assets:6.0.0.01525.109-10.0.19042.804-2009 $registry/experimental/def/sitecore-xp1-cm:sc101def -
Push the images to your Azure registry with the
docker pushcommand. For example:RequestResponsedocker push $registry/experimental/def/sitecore-xp1-cm:sc101def
Prepare configuration files for deployment
To prepare configuration files in your installation for deployment:
-
Open the folder where you extracted the Data Exchange Framework container deployment package.
-
Navigate to the
DEF.Asset\k8s\<version>folder, for example,DEF.Asset\k8s\ltsc2019. Copy theoverridessubfolder to the Sitecore Experience Platform (SXP) container deployment package, in thek8s\<version>folder (on the same level as thexp1folder). -
In the SXP container deployment package, in each of the
overrides\<topology>, andoverrides\<topology>\secretsfolders, locate thekustomization.yamlfile. In each file, update parameters in thebasessection with the appropriate folder names for your installation, for example,../../xp1.NoteThe
basesparameters contain the placement of the original Sitecore container deployment files that thekustomization.yamlfiles override. -
In each
kustomization.yamlfile, in theimages:section, update thenewNameandnewTagparameters with the values for the images you pushed to the Azure Registry, for examplecm,cd,xdbautomationworker, andid.NoteTo find the values you require, for example, for the
cmimage, go to the Azure Container Registry, search for yoursitecore-def-xp1-cmimage, and take the values from that image. -
If you are deploying the XP1 topology, in the
overrides\<topology>\secretsfolder, in thesitecore-tenant-service-connection-string.txtfile, update the connection string details. The file contains an example of the connection string.
Deploy the containers
Before you deploy the containers to Kubernetes, 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:
-
Open the Windows console, and navigate to the
k8s\<version>folder. -
Deploy the secrets:
-
If you are using the XP1 topology, run the following command:
RequestResponsekubectl apply -k ./overrides/<topology>/secrets/ -
If you are using the XM1 topology, run the following command:
RequestResponsekubectl apply -k ./<topology>/secrets/
-
-
Run the
externalfolder. Use this command:RequestResponsekubectl apply -k ./<topology>/external/ -
Wait for all containers to have the status Ok/Running. You can check the status with this command:
RequestResponsekubectl get pods -o wide -
Run the
initfolder. Use this command:RequestResponsekubectl apply -k ./<topology>/init/ -
Wait for all containers to have the status Completed. You can check the status with this command:
RequestResponsekubectl get pods -o wide -
To create persistent volumes, run this command:
RequestResponsekubectl apply -f ./<topology>/volumes/azurefile -
Run the Sitecore containers with the SFCRM changes. Use this command:
RequestResponsekubectl apply -k ./overrides/<topology>/ -
Wait for all containers to have the status Ok/Running. You can check the status with this command :
RequestResponsekubectl get pods -o wide -
Obtain the external IP address. Use this command:
RequestResponsekubectl get service -l app=nginx-ingress -
Update the local host file. For information on how to do this, see the Installation Guide for Production Environment for Kubernetes, which is available on the Sitecore download page.
When the containers have been deployed, rebuild your search indexes.