Walkthrough: Installing Data Exchange Framework in Azure Kubernetes Service
How to install Data Exchange Framework in a container environment using 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
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 tag
command. For example:docker 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 push
command. For example:docker push $registry/experimental/def/sitecore-xp1-cm:sc101def
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 theoverrides
subfolder to the Sitecore Experience Platform (SXP) container deployment package, in thek8s\<version>
folder (on the same level as thexp1
folder).In the SXP container deployment package, in each of the
overrides\<topology>
, andoverrides\<topology>\secrets
folders, locate thekustomization.yaml
file. In each file, update parameters in thebases
section with the appropriate folder names for your installation, for example,../../xp1
.Note
The
bases
parameters contain the placement of the original Sitecore container deployment files that thekustomization.yaml
files override.In each
kustomization.yaml
file, in theimages:
section, update thenewName
andnewTag
parameters with the values for the images you pushed to the Azure Registry, for examplecm
,cd
,xdbautomationworker
, andid
.Note
To find the values you require, for example, for the
cm
image, go to the Azure Container Registry, search for yoursitecore-def-xp1-cm
image, and take the values from that image.If you are deploying the XP1 topology, in the
overrides\<topology>\secrets
folder, in thesitecore-tenant-service-connection-string.txt
file, update the connection string details. The file contains an example of the connection string.
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:
kubectl apply -k ./overrides/<topology>/secrets/
If you are using the XM1 topology, run the following command:
kubectl apply -k ./<topology>/secrets/
Run the
external
folder. Use this command:kubectl apply -k ./<topology>/external/
Wait for all containers to have the status Ok/Running. You can check the status with this command:
kubectl get pods -o wide
Run the
init
folder. Use this command:kubectl apply -k ./<topology>/init/
Wait for all containers to have the status Completed. You can check the status with this command:
kubectl get pods -o wide
To create persistent volumes, run this command:
kubectl apply -f ./<topology>/volumes/azurefile
Run the Sitecore containers with the SFCRM changes. Use this command:
kubectl apply -k ./overrides/<topology>/
Wait for all containers to have the status Ok/Running. You can check the status with this command :
kubectl get pods -o wide
Obtain the external IP address. Use this command:
kubectl 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.
Note
When the containers have been deployed, rebuild your search indexes.