Deploying CX Contact
This page describes how to complete an on-premise deployment of CX Contact. The steps are as follows:
- Create the Outbound Database
- Start OCS
- Set up the standalone Docker environment
- Start Portainer
- Set up CX Contact on Kubernetes
Create the Outbound Database
Create the Outbound Database to store calling lists and suppression lists. It should be manually created on the same Postgre DBMS in which CME resides.
Execute the following set of SQL statements to create the Outbound Database and a user (note that the database name, username, and password must match the settings configured in OCS DAP).
CREATE DATABASE cc_outbound; ALTER DATABASE cc_outbound SET bytea_output TO 'escape'; ALTER DATABASE cc_outbound SET standard_conforming_strings TO 'off'; CREATE USER cc_outbound WITH PASSWORD 'cc_outbound'; GRANT ALL PRIVILEGES ON DATABASE cc_outbound TO cc_outbound; ALTER DATABASE cc_outbound OWNER TO cc_outbound;
In the Solution Control Interface, go to applications/OCS to start OCS.
Set Up the Standalone Docker Environment
Get the docker-compose.yaml file from the repository link.
In the folder containing env.docker-compose.yaml, enter the following:
docker-compose -f env.docker-compose.yaml up -d
Genesys recommends you use Portainer to view the status of all containers and to access logs. Use the following command to start Portainer on the same VM where all containers are started:
docker volume create portainer_data docker run --restart=always -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer --no-auth
Next, go to http://<your-vm-ip>:9000. The user interface will display the state of all containers. You can open each container and click logs to see the stdout / stderr logs.
CX Contact components use the following ports:
|User Interface (UI)||8101 - Nignx listener port (static content served)|
Set up CX Contact on Kubernetes
The Genesys Kubernetes manifests are packaged as Helm charts, which are in .tgz format. Helm is a package and deployment manager for Kubernetes, and a chart contains a bundle of Kubernetes resources.
To access the CX Contact Helm chart, go to the Helm repository. If you do not have access to this repository, contact your Genesys representative to request the chart via a secure file transfer.
Once you've located the chart, use the wget command to download it.
For more detailed information about Helm installation, refer to the Docker Deployment Guide.
High Availability and Disaster Recovery
In a Kubernetes deployment, you can specify the replicas for each CX Contact microservice, as follows:
apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null labels: io.kompose.service: campaign-manager name: campaign-manager spec: replicas: 2 strategy: type: Recreate template: metadata: creationTimestamp: null labels: io.kompose.service: campaign-manager
- In case of a pod failure, Kubernetes will automatically reschedule the pods with the desired number of replicas.
- In case of node failure, Kubernetes will reschedule the pods to run on a healthy node. Use the node-affinity tag to specify the desired node for the pods.