Line 31: | Line 31: | ||
===Implementation Steps=== | ===Implementation Steps=== | ||
<ol> | <ol> | ||
− | <li>Unpack installation package (Example: IP_HTCCDev_9000197b1_ENU_dockerlinux.zip file) and navigate to | + | <li>Unpack installation package (Example: IP_HTCCDev_9000197b1_ENU_dockerlinux.zip file) and navigate to the '''ip''' folder which contains the following files: |
* gws-microservices.tgz | * gws-microservices.tgz | ||
* exported microservices in tar.gz format (Example: gws-platform-configuration_9.0.000.42.tar.gz) | * exported microservices in tar.gz format (Example: gws-platform-configuration_9.0.000.42.tar.gz) | ||
</li> | </li> | ||
− | <li>Unpack gws-microservices.tgz archive to /opt/genesys/gws directory. | + | <li>Unpack '''gws-microservices.tgz''' archive to '''/opt/genesys/gws''' directory. |
<source lang="text"> | <source lang="text"> | ||
mkdir -p /opt/genesys/gws | mkdir -p /opt/genesys/gws | ||
Line 47: | Line 47: | ||
{{NoteFormat|This script must be run with Docker capable privileges and you must login to your registry before pushing.}} | {{NoteFormat|This script must be run with Docker capable privileges and you must login to your registry before pushing.}} | ||
</li> | </li> | ||
− | <li>Edit the following values in the /opt/genesys/gws/kubernetes/parameters.yaml file: | + | <li>Edit the following values in the '''/opt/genesys/gws/kubernetes/parameters.yaml''' file: |
{| | {| | ||
| valign="top" | | | valign="top" | | ||
Line 66: | Line 66: | ||
GWS_DOMAIN | GWS_DOMAIN | ||
| valign="top" | | | valign="top" | | ||
− | + | [http://onpremiselab.com/ http://onpremiselab.com ] | |
| valign="top" | | | valign="top" | | ||
Domain associated with this contact center. | Domain associated with this contact center. | ||
Line 76: | Line 76: | ||
| valign="top" | | | valign="top" | | ||
Location of Configuration Server <br> | Location of Configuration Server <br> | ||
− | '''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, | + | '''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, such as 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. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 139: | Line 139: | ||
[http://onpremiselab.com/ http://onpremiselab.com ] | [http://onpremiselab.com/ http://onpremiselab.com ] | ||
| valign="top" | | | valign="top" | | ||
− | Specifies an array by using double quotes and comma to separate values with no | + | Specifies an array by using double quotes and comma to separate values with no white space in between. Used as part of OAuth authentication flow. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 146: | Line 146: | ||
false | false | ||
| valign="top" | | | valign="top" | | ||
− | Enables Ingress secured endpoint configuration for Web | + | Enables Ingress secured endpoint configuration for Web Services and Applications. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 160: | Line 160: | ||
false | false | ||
| valign="top" | | | valign="top" | | ||
− | Enable PostgreSQL deployment procedure in same namespace as Web Services and Applications. <br> | + | Enable PostgreSQL deployment procedure in the same namespace as Web Services and Applications.<br> |
'''Note:''' For Lab deployments only. | '''Note:''' For Lab deployments only. | ||
|- | |- | ||
Line 169: | Line 169: | ||
| valign="top" | | | valign="top" | | ||
Address of PostgreSQL installation <br> | Address of PostgreSQL installation <br> | ||
− | '''Note''' : If DEPLOY_POSTGRES set to true, default value should be | + | '''Note''': If DEPLOY_POSTGRES set to <tt>true</tt>, the default value should be retained. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 177: | Line 177: | ||
| valign="top" | | | valign="top" | | ||
PostgreSQL database name <br> | PostgreSQL database name <br> | ||
− | '''Note''' : If DEPLOY_POSTGRES set to true, default value should be | + | '''Note''': If DEPLOY_POSTGRES set to <tt>true</tt>, the default value should be retained. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 185: | Line 185: | ||
| valign="top" | | | valign="top" | | ||
PostgreSQL user, which can be used to connect to database <br> | PostgreSQL user, which can be used to connect to database <br> | ||
− | '''Note''' : If DEPLOY_POSTGRES set to true, default value should be | + | '''Note''': If DEPLOY_POSTGRES set to <tt>true</tt>, the default value should be retained. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 193: | Line 193: | ||
| valign="top" | | | valign="top" | | ||
PostgreSQL user password <br> | PostgreSQL user password <br> | ||
− | '''Note''' : If DEPLOY_POSTGRES set to true, default value should be | + | '''Note''': If DEPLOY_POSTGRES set to <tt>true</tt>, the default value should be retained. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 209: | Line 209: | ||
| valign="top" | | | valign="top" | | ||
Address of Redis cluster installation <br> | Address of Redis cluster installation <br> | ||
− | '''Note''' : If DEPLOY_REDIS set to true, default value should be | + | '''Note''': If DEPLOY_REDIS set to <tt>true</tt>, the default value should be retained. |
|- | |- | ||
| valign="top" | | | valign="top" | | ||
Line 216: | Line 216: | ||
false | false | ||
| valign="top" | | | valign="top" | | ||
− | Enable ElasticSearch cluster deployment procedure in same namespace as Web Services and Applications. <br> | + | Enable ElasticSearch cluster deployment procedure in same namespace as Web Services and Applications.<br> |
'''Note:''' For Lab deployments only. | '''Note:''' For Lab deployments only. | ||
|- | |- | ||
Line 225: | Line 225: | ||
| valign="top" | | | valign="top" | | ||
Address of ElasticSearch cluster installation <br> | Address of ElasticSearch cluster installation <br> | ||
− | '''Note''' : If DEPLOY_ELASTICSEARCH set to true, default value should be | + | '''Note''': If DEPLOY_ELASTICSEARCH set to <tt>true</tt>, the default value should be retained. |
|} | |} | ||
</li> | </li> |
Revision as of 09:18, February 5, 2020
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 the ip folder which contains the 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
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, such as 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 white space in between. Used as part of OAuth authentication flow.
ingressTlsEnable
false
Enables Ingress secured endpoint configuration for Web Services 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 the 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, the default value should be retained.POSTGRES_DB
gws_environment
PostgreSQL database name
Note: If DEPLOY_POSTGRES set to true, the default value should be retained.POSTGRES_USER
gws_env_master
PostgreSQL user, which can be used to connect to database
Note: If DEPLOY_POSTGRES set to true, the default value should be retained.POSTGRES_PASS
gws_env_password
PostgreSQL user password
Note: If DEPLOY_POSTGRES set to true, the default value should be retained.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, the default value should be retained.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, the default value should be retained. - 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-deployed Web Service and Applications and Kubernetes cluster starts all requested containers. It may take up to 10 minutes.