Deploy GSP
Contents
Learn how to deploy GIM Stream Processor (GSP).
Set up your environment
To prepare your environment for the deployment, complete the steps in this section for:
Environment setup for OpenShift
- Log in to the OpenShift cluster via CLI on the host where you will run the deployment:
oc login --token <token> --server <URL of the API server>
- (Optional) Check the cluster version:
oc get clusterversion
- If the cluster administrator has not already done so, create a new project for GSP:
oc new-project gsp
- Set the default project to gsp:
oc project gsp
- Create a secret for docker-registry in order to pull images from the Genesys JFrog repository:
oc create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gsp
-
- Create a secret named kafka-secrets in order to access Kafka.
- When Kafka is deployed without authentication:
oc create secret generic kafka-secrets --from-literal=kafka-secrets={\"bootstrap\":\"<kafka-bootstrap-url>\"} -n gsp
- When Kafka is deployed with authentication:
oc create secret generic kafka-secrets --from-literal=kafka-secrets={\"bootstrap\":\"<kafka-bootstrap-url>\", \"username\":\"gsp\",\"password\":\"<password>\"} -n gsp
- For example:
oc create secret generic kafka-secrets --from-literal=kafka-secrets={\"bootstrap\":\"infra-kafka-cp-kafka.infra.svc.cluster.local:9092\",\"username\":\"gsp\",\"password\":\"kafka-password\"} -n gsp
Environment setup for GKE
- Ensure that the gcloud CLI and required Helm version are installed on the host where you will run the deployment.
- Log in to the GKE cluster from the host where you will run the deployment:
gcloud container clusters get-credentials <cluster>
- If the cluster administrator has not already done so, create a new namespace for GSP:
- Create a .json file specifying the namespace metadata. For example, create-gsp-namespace.json:
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "gsp", "labels": { "name": "gsp" } } }
- Execute the following command to create the namespace:
kubectl apply -f apply create-gsp-namespace.json
- Confirm namespace creation:
kubectl describe namespace gsp
- Create a .json file specifying the namespace metadata. For example, create-gsp-namespace.json:
- Create a secret for docker-registry in order to pull images from the Genesys JFrog repository:
kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gsp
- Create a secret named kafka-secrets in order to access Kafka.
- When Kafka is deployed without authentication:
kubectl create secret generic kafka-secrets --from-literal=kafka-secrets={\"bootstrap\":\"<kafka-bootstrap-url>\"} -n gsp
- When Kafka is deployed with authentication:
kubectl create secret generic kafka-secrets --from-literal=kafka-secrets={\"bootstrap\":\"<kafka-bootstrap-url>\", \"username\":\"gsp\",\"password\":\"<password>\"} -n gsp
- For example:
kubectl create secret generic kafka-secrets --from-literal=kafka-secrets={\"bootstrap\":\"infra-kafka-cp-kafka.infra.svc.cluster.local:9092\",\"username\":\"gsp\",\"password\":\"kafka-password\"} -n gsp
Deploy
Execute the following command:
helm install gsp <gsp-helm-artifact> -f <gsp-values.yaml> -n gsp
Validate the deployment
You can consider GSP deployment successful when the pod is running and in Ready state. Genesys Info Mart does not report the Ready state for pods until internal health checks are satisfied and the pods are operational. You can use standard kubectl commands like list and get to verify the successful deployment and readiness status of the Kubernetes objects.
However, from a functional point of view, you cannot validate GSP deployment unless GCA and GIM have been deployed as well. Do not expect consistent data until all three Genesys Info Mart services are up and running. When all three services have been deployed:
- Make a few test calls employing different routing strategies under different scenarios, and verify that all the calls are correctly captured in the Info Mart database. For example:
- The calls appear in the interaction-related tables.
- The calls have been correctly assigned to agents and queues.
- Review the logs to verify no errors.
- Monitor the operations dashboard to verify that the services report their status as Ready, and pods are not continually restarting.