Deploy IWD Data Mart

From Genesys Documentation
Revision as of 16:44, October 29, 2021 by Santhosh.annamalai@genesys.com (talk | contribs) (Published)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This topic is part of the manual IWD Data Mart Private Edition Guide for version Current of Intelligent Workload Distribution.

Prepare your environment

Important
  • Make sure to review Before you begin for the full list of prerequisites required to deploy IWD Data Mart.
  • The sample code snippets and install commands in this document use an example version of IWD Data Mart. Ensure that you replace the example version with the version that is applicable for your deployment.
  1. Create a new project using the following command:
    kubectl create namespace iwddm
    For OpenShift:
    oc get clusterversion
    oc new-project iwddm
  2. Create a pull secret for accessing the JFrog registry. See Configure Kubernetes.
  3. Download the IWD helm chart from the JFrog repository. See Download the Helm charts.
  4. IWD Data Mart requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels or IWD. See IWD x-api-key.

Deploy

Extract parameters from chart to see multiple (default) values used to fine tune the installation.

$ helm show values <helm-repo>/iwddm-<version> > values.yaml

Set up essential IWDDM Helm values:

  1. image.registry
  2. image.imagePullSecrets (if needed)
  3. image.repository
  4. image.tag
  5. image.repository
  6. iwddm.tenantId
  7. iwddm.db.*
  8. iwddm.db.secret.*
  9. iwddm.volumes
  10. iwddm.volumeMounts
  11. iwddm.env.gim.enabled: true (given that GIM DB secret is provided)
Sample override file:
image:
  registry: "pureengage-docker-staging.jfrog.io"
  repository: "iwddm/iwd_dm_cloud"
  tag: "<img-version>"
  pullPolicy: IfNotPresent
  imagePullSecrets:
    - name: pullsecret
iwddm:
  tenantId: <TENANT_ID> #sample 100
  db:
    createConfigmap: true
    host: <postgres-host>
    port: 5432
    dbname: <db-name>
    user: <db-password>
    secret:
      enabled: true
      secretName: <secretname>
      password: <db-password>
  cronjob:
    schedule: "*/3 * * * *"
    suspend: false
  securityContext: {}
  env:
    executionChain: "full"
    restUrl: "http://iwd.iwd.svc.cluster.local:4024/iwd/v3"
    monitoring:
      enabled: false
      pushgateway_url: ""
  volumes: |-
    - name: iwddm-db-secrets
      secret:
        secretName: <secret-name>
    - name: iwd-secrets
      secret:
        secretName: <api key secret>
  volumeMounts:
    iwddm-db-secrets:
      readOnly: true
      mountPath: "/mnt/env-secrets/db-secrets"
    iwd-secrets:
      readOnly: true
      mountPath: "/mnt/env-secrets/iwd-secrets"


Deploy IWD Data Mart using the following command:

helm upgrade --install iwddm-{short_tenant_id} <helm-repo>/iwddm-cronjob --version={version} -f ./values.private.yml

Validate the deployment

Watch the helm output at the end of installation. Pods must be in a Running state and they must pass all READY checks.

See the following sample output:
Release "iwddm" has been upgraded. Happy Helming!
NAME: iwdem
LAST DEPLOYED: Tue Jul 18 10:18:07 2021
NAMESPACE: iwddm
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Please be patient while iwddm 100.0.0741322 is being deployed
Note that IWDDM is a short-living job. So, pods will be created or deleted based on schedule.
Comments or questions about this documentation? Contact us for support!