Before you begin deploying GCXI

From Genesys Documentation
Revision as of 19:52, March 30, 2022 by WikiSysop (talk | contribs)
Jump to: navigation, search
This topic is part of the manual Genesys Customer Experience Insights Private Edition Guide for version Current of Reporting.

Find out what to do before deploying Genesys Customer Experience Insights (GCXI).

Limitations and assumptions

GCXI can provide meaningful reports only if Genesys Info Mart and Reporting and Analytics Aggregates (RAA) are deployed and available; deploy GCXI only after Genesys Info Mart and RAA.

Download the Helm charts

For information about how to download the Helm charts in Jfrog Edge, see the suite-level documentation: Downloading your Genesys Multicloud CX containers

To learn what Helm chart version you must download for your release, see Helm charts and containers for Genesys Customer Experience Insights

GCXI Containers

  • GCXI Helm chart makes use of the following containers.
    • gcxi - main GCXI container, runs as a StatefulSet. This container is roughly 12 GB; ensure that you have enough space to allocate it.
    • gcxi-control - supplementary container, used for GCXI first-install initialization and for cleanup

GCXI Helm Chart Download the latest yaml files from the repository, or examine the attached files: Sample GCXI yaml files

Third-party prerequisites

For information about setting up your Genesys Multicloud CX private edition platform, including Kubernetes, Helm, and other prerequisites, see Software requirements.


Third-party services
Name Version Purpose Notes
A container image registry and Helm chart repository Used for downloading Genesys containers and Helm charts into the customer's repository to support a CI/CD pipeline. You can use any Docker OCI compliant registry.
PostgreSQL 12 12 Relational database (Genesys Customer Experience Insights meta requires this version)
MicroStrategy Genesys Customer Experience Insights provides this software but requires replacement of MicroStrategy 3rd party keys.

Storage requirements

GCXI installation requires a set of local Persistent Volumes (PVs). Kubernetes 'local' volumes are simply directories on the host, with specific properties: https://kubernetes.io/docs/concepts/storage/volumes/#local

Example usage: https://zhimin-wen.medium.com/local-volume-provision-242affd5efe2

Kubernetes provides a powerful volume plugin system that enables Kubernetes workloads to use a wide variety of block and file storage to persist data.

The GCXI Helm chart offers a simple solution that you can use to set up your own PVs, or you can configure PV Dynamic Provisioning in your cluster (so that PVs are created automatically by Kubernetes).

Volumes Design

GCXI installation uses the following PVC:

Mount Name Mount Path

(inside container)

Description Access Type Approx Size Default Mount Point on Host

(may be changed thru values)

These directories MUST pre-exist on your host. That is how the local provisioner works.

Must be Shared across Nodes? Required Node Label

(applies to deafult Local PVs setup)

gcxi-backup /genesys/gcxi_shared/backup Backups

Used by control container / jobs.

RWX Depends on backup frequency.

5gb+

/genesys/gcxi/backup

May be overwritten by:

Values.gcxi.local.pv.backup.path

Only in multiple concurrent installs scenarios. gcxi/local-pv-gcxi-backup = "true"
gcxi-log /mnt/log MSTR logs

Used by main container.

The GCXI Helm chart allows log volumes of legacy hostPath type. This scenario is the default and used in examples below.

RWX Depends on rotation scheme.

5gb+

/mnt/log/gcxi

subPathExpr: $(POD_NAME)

May be overwritten by:

Values.gcxi.local.pv.log.path

Not necessarily. gcxi/local-pv-gcxi-log = "true"

You don't need node label if you are using hostPath volumes for logs.

gcxi-postgres /var/lib/postgresql/data

(if using Postgres in container)

or

disk space in Postgres RDBMS

Meta DB volume

Used by Postgres container, if deployed.

RWO Depends on usage.

10gb+

/genesys/gcxi/shared

May be overwritten by:

Values.gcxi.local.pv.postgres.path

Yes, unless you tie Postgres container to some particular node. gcxi/local-pv-postgres-data = "true"
gcxi-share /genesys/gcxi_share MSTR shared caches and cubes

Used by main container.

RWX Depends on usage.

5gb+

/genesys/gcxi/data

subPathExpr: $(POD_NAME)

May be overwritten by:

Values.gcxi.local.pv.share.path

Yes. gcxi/local-pv-gcxi-share = "true"

Preparing the environment

Complete the following steps to prepare your environment.

  1. For GKE deployments, execute the following command to log in to the gcloud cluster:
    gcloud container clusters get-credentials gke1
  2. Execute the following command to log in to the cluster:
    oc login --token <token> --server <url of api server>
  3. For OpenShift deployments, execute the following command to check the cluster version:
    oc get clusterversion
  4. Execute the following command to create a new project:
    OpenShift:
    oc new-project gcxi
    GKE:
    1. Edit the create-gcxi-namespace.json, adding the following values:
      {
        "apiVersion": "v1",
        "kind": "Namespace",
        "metadata": {
          "name": "gcxi",
          "labels": {
            "name": "gcxi"
          }
        }
      }
    2. Execute the following command to apply the changes:
      kubectl apply -f apply create-gcxi-namespace.json
  5. For GKE, execute the following command to confirm namespace creation:
    kubectl describe namespace gcxi
  6. 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 gim
  7. Create the file values-test.yaml, and populate it with appropriate override values. For a simple deployment using PostgreSQL inside the container, this includes PersistentVolumes named gcxi-log-pv, gcxi-backup-pv, gcxi-share-pv, and gcxi-postgres-pv. Override GCXI_GIM_DB with the name of your Genesys Info Mart data source.

Network requirements

Ingress

Ingress annotations are supported in the values.yaml file (see line 317). Genesys recommends session stickiness, to improve user experience.

ingress:
    # http path and annotations may be overriden for external and internal access separately
    annotations:
      kubernetes.io/ingress.class: "nginx"
      nginx.ingress.kubernetes.io/affinity: cookie
      nginx.ingress.kubernetes.io/affinity-mode: persistent
      nginx.ingress.kubernetes.io/proxy-body-size: "50m"
      nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
      nginx.ingress.kubernetes.io/ssl-redirect: "false"
    domain:
    external:
      annotations:
      host:
      tls:
        enabled: false
        secretName:
    internal:
      annotations:
      host:
      tls:
        enabled: false
        secretName:
    path: /

Allowlisting is required for GCXI.

WAF Rules

WAF rules are defined in the variables.tf file (see line 245).

SMTP

The environment variable EMAIL_SERVER is supported by the GCXI container and Helm chart.

TLS

The GCXI container does not serve TLS natively. Your environment should be configured to use proxy with HTTPS offload.

Browser requirements

MicroStrategy Web is the user interface most often used for accessing, managing, and running the Genesys CX Insights reports. MicroStrategy Web certifies the latest versions, at the time of release, for the following web browsers:

  • Apple Safari
  • Google Chrome (Windows and iOS)
  • Microsoft Edge
  • Microsoft Internet Explorer (Versions 9 and 10 are supported, but are not certified)
  • Mozilla Firefox

To view updated information about supported browsers, see the MicroStrategy ReadMe.

Browsers
Name Version Notes
FirefoxCurrent release or one version previousGenesys also supports the current ESR release. Genesys supports the transitional ESR release only during the time period in which the new ESR release is tested and certified. For more information, see Firefox ESR release cycle. Firefox updates itself automatically. Versions of Firefox are only an issue if your IT department restricts automatic updates.
Microsoft Edge (Legacy)Current release
ChromeCurrent release or one version previousChrome updates itself automatically. Versions of Chrome are only an issue if your IT department restricts automatic updates.

Genesys dependencies

GCXI requires the following services:

  • Reporting and Analytics Aggregates (RAA) is required to aggregate Genesys Info Mart data.
  • Genesys Info Mart and / or Intelligent Workload Distribution (IWD) Data Mart. GCXI can run without these services, but cannot produce meaningful output without them.
  • GWS Auth/Environment service
  • Genesys Platform Authentication thru Config Server (GAuth). Alternatively, GCXI includes a native internal login, which you can use to authorize users, instead of GAuth. This document assumes you are using GAuth (the recommended solution), which gives ConfigServer users access to GCXI.
  • GWS client id/client secret

GDPR support

GCXI can store Personal Identifiable Information (PII) in logs, history files, and in reports (in scenarios where customers include PII data in reports). Genesys recommends that you do not capture PII in reports, however, if you do so, it is your responsibility to remove any such report data within 21 days or less, if required by General Data Protection Regulation (GDPR) standards.

For more information and relevant procedures, see: Genesys CX Insights Support for GDPR and the suite-level Link to come documentation.

Comments or questions about this documentation? Contact us for support!