Contents
Deployment of Web Services and Applications in Kuberbetes
Important: This content is restricted and not viewable without a login supplied by Genesys. The information contained in this documentation is not considered final and is managed under the terms and conditions found in the Pre-release Agreement. This documentation provides the most up-to-date reference information available for this pre-release version and is restricted for use by those who have signed the Pre-release Agreement with Genesys to acquire an early version of the software. |
Prerequisites
Hardware Requirements
The solution can be deployed at a Kubernetes cluster with a minimal size of 3 nodes with an overall amount of 64 GB RAM. Recommended hardware requirements for each Kubernetes node:
- Nodes: 3 nodes (Virtual Machines)
- RAM: Approximately 22 GB for each node (64 GB in total)
- CPU: 15 cores for each node (45 cores in total)
- HDD: 100 GB for each node
Software Requirements
- OS: CentOS-7
Kubernetes cluster:
- Rancher Kubernetes Deployment
- Client-side utilities installed at deployment host:
- Kubectl tool
- Helm
Workspace Web Requirements
- Browser:
- Google Chrome 75+
- Mozilla Firefox 68+
- Firefox ESR 60.9
- Microsoft Internet Explorer 11
- Microsoft Edge
Configuring Web Services Applications
To configure Web services and applications, refer to Configuring Web Services and Applications.
Deploying GWS
Implementation Steps
- Unpack installation package (Example: IP_HTCCDev_9000197b1_ENU_dockerlinux.zip file) and navigate to "ip" folder which should contain following files:
- gws-microservices.tgz
- exported microservices in tar.gz format (Example: gws-platform-configuration_9.0.000.42.tar.gz)
- Unpack gws-microservices.tgz archive to /opt/genesys/gws directory.
mkdir -p /opt/genesys/gws tar xvf gws-microservices.tgz -C /opt/genesys/gws
- Populate the Docker images (presented in *.tar.gz format) from installation package to your corporate docker registry.
for i in *.tar.gz; do /opt/genesys/gws/kubernetes/bin/push-containers-to-local-registry.sh $i %corporate_registry_address% --push; done
ImportantThis script must be run with Docker capable privileges and you must login to your registry before pushing. - Edit the following values in the /opt/genesys/gws/kubernetes/parameters.yaml file:
Variable
Value
Description
REGISTRY
NA
Corporate docker registry, which is accessible from all Kubernetes nodes.
GWS_DOMAIN
"onpremiselab.com"
Domain associated with this contact center.
LOCATION
/USW2
Location of Configuration Server
Note: The GWS Cluster Application object (typically named CloudCluster) in the Configuration Database must be configured with a specified location for each connection to Genesys servers, like Configuration Server, Stat Server, T-Server, and so on. This setting defines which server instance is visible by the GWS node based on its position in the GWS Cluster.CS_USERNAME
default
Username to connect to Configuration Server.
CS_PASSWORD
password
Password to connect to Configuration Server.
CS_APPNAME
Cloud
Application name to connect to Configuration Server.
CS_ADDRESS
127.0.0.1
Address of primary Configuration Server.
CS_PORT
8888
Port of primary Configuration Server.
CS_BACKUP_ADDRESS
127.0.0.1
Address of backup Configuration Server.
CS_BACKUP_PORT
8888
Port of backup Configuration Server.
CS_TENANT
Environment
Configuration Server's tenant name.
GWS_REDIRECT_URI
Specifies an array by using double quotes and comma to separate values with no whitespace between. Used as part of OAuth authentication flow.
ingressTlsEnable
false
Enables Ingress secured endpoint configuration for Web Service and Applications.
POST_DEPLOY_UPDATE
true
Enable post deploy procedure, which creates default Genesys environment, contact center and OAuth client.
DEPLOY_POSTGRES
false
Enable PostgreSQL deployment procedure in same namespace as Web Services and Applications.
Note: For Lab deployments only.POSTGRES_ADDR
postgres
Address of PostgreSQL installation
Note : If DEPLOY_POSTGRES set to true, default value should be kept.POSTGRES_DB
gws_environment
PostgreSQL database name
Note : If DEPLOY_POSTGRES set to true, default value should be kept.POSTGRES_USER
gws_env_master
PostgreSQL user, which can be used to connect to database
Note : If DEPLOY_POSTGRES set to true, default value should be kept.POSTGRES_PASS
gws_env_password
PostgreSQL user password
Note : If DEPLOY_POSTGRES set to true, default value should be kept.DEPLOY_REDIS
false
Enable Redis cluster deployment procedure in same namespace as Web Services and Applications.
Note: For Lab deployments only.REDIS_ADDR
redis-cluster:6379
Address of Redis cluster installation
Note : If DEPLOY_REDIS set to true, default value should be kept.DEPLOY_ELASTICSEARCH
false
Enable ElasticSearch cluster deployment procedure in same namespace as Web Services and Applications.
Note: For Lab deployments only.ELASTICSEARCH
elasticsearch:9200
Address of ElasticSearch cluster installation
Note : If DEPLOY_ELASTICSEARCH set to true, default value should be kept. - Invoke Helm:
helm install gws/ -n gws-service -f gws-versions.yaml -f parameters.yaml
Where:
- gws/ is helm chart directory;
- -n gws-service is kubernetes namespace name to deploy to;
- -f gws-versions.yaml is config file where containers version defined;
- -f parameters.yaml is config file where deployment parameters defined.
- Wait until helm deploy Web Service and Applications and Kubernetes cluster will start all requested containers. It may take up to 10 minutes.