Jump to: navigation, search
(Update with the copy of version: 9.0.0DRAFT)
(Update with the copy of version: 9.0.0DRAFT)
Line 2: Line 2:
 
<!-- {{PrereleaseDisclaimer}} -->
 
<!-- {{PrereleaseDisclaimer}} -->
 
==Prerequisites==
 
==Prerequisites==
For Hardware, Software, and Workspace Web requirements, refer to [[Prerequisites|Prerequisites]].
+
For hardware, software, and Workspace Web Edition requirements, refer to [[Prerequisites|Prerequisites]].
 +
Also, ensure your environment has access to [http://docker.io/library docker.io/library].
 +
If internet access is not available, manually load the following public container images to the Docker registry:
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/consul|displaytext=consul:0.9.1}}
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/elasticsearch|displaytext=elasticsearch:6.8.6}}
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/postgres|displaytext=postgres:11-alpine}}
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/redis|displaytext=redis:5-stretch}}
 
<!--
 
<!--
 
===Hardware Requirements===
 
===Hardware Requirements===
Line 32: Line 38:
 
-->
 
-->
 
==Configuring Web Services and Applications==
 
==Configuring Web Services and Applications==
To configure Web services and Applications, refer to [[Documentation:HTCC:Dep:ConfigurationPremise|Configuring Web Services and Applications]].
+
To configure Web Services and Applications, refer to [[Documentation:HTCC:Dep:ConfigurationPremise|Configuring Web Services and Applications]].
 
==Configuring Security==
 
==Configuring Security==
 
Transport Layer Security (TLS) is available only in Kubernetes-based deployment. For more details, refer to [[Documentation:HTCC:Dep:Security|Configuring Security]].
 
Transport Layer Security (TLS) is available only in Kubernetes-based deployment. For more details, refer to [[Documentation:HTCC:Dep:Security|Configuring Security]].
Line 38: Line 44:
 
== Deploying GWS ==
 
== Deploying GWS ==
 
<ol>
 
<ol>
<li>Unpack the installation package (Example: IP_HTCCDev_9000197b1_ENU_dockerlinux.zip file) and navigate to the '''ip''' folder which contains the following files:
+
<li>Unpack the installation package (e.g. IP_HTCCDev_9000253b1_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 (e.g. '''gws-platform-configuration_9.0.000.42.tar.gz''')
 
</li>
 
</li>
 
<li>Unpack the '''gws-microservices.tgz''' archive to the '''/opt/genesys/gws''' directory.
 
<li>Unpack the '''gws-microservices.tgz''' archive to the '''/opt/genesys/gws''' directory.
Line 59: Line 65:
 
'''Variable'''
 
'''Variable'''
 
| valign="top" |
 
| valign="top" |
'''Value'''
+
'''Defaul Value'''
 
| valign="top" |
 
| valign="top" |
 
'''Description'''
 
'''Description'''
Line 66: Line 72:
 
REGISTRY
 
REGISTRY
 
| valign="top" |
 
| valign="top" |
NA
+
 
 
| valign="top" |
 
| valign="top" |
 
Corporate docker registry, which is accessible from all Kubernetes nodes.
 
Corporate docker registry, which is accessible from all Kubernetes nodes.
Line 73: Line 79:
 
GWS_DOMAIN
 
GWS_DOMAIN
 
| valign="top" |
 
| valign="top" |
<nowiki>http://onpremiselab.com</nowiki>
+
<nowiki>onpremiselab.com</nowiki>
 
| valign="top" |
 
| valign="top" |
 
The host name that will be used by Ingress for routing rules creation.
 
The host name that will be used by Ingress for routing rules creation.
Line 83: Line 89:
 
/USW2
 
/USW2
 
| valign="top" |
 
| valign="top" |
Location of the 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, 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.
+
'''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 91: Line 97:
 
default
 
default
 
| valign="top" |
 
| valign="top" |
Username to connect to the Configuration Server.
+
Username to connect to Configuration Server.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 98: Line 104:
 
password
 
password
 
| valign="top" |
 
| valign="top" |
Password to connect to the Configuration Server.
+
Password to connect to Configuration Server.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 105: Line 111:
 
GWS_App
 
GWS_App
 
| valign="top" |
 
| valign="top" |
Application name to connect to the Configuration Server. For details, refer to [[ConfigurationPremise#gaxgwsclient| Creating GWS Client Application]].
+
Application name to connect to Configuration Server. For details, refer to [[ConfigurationPremise#gaxgwsclient| Creating GWS Client Application]].
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 140: Line 146:
 
Environment
 
Environment
 
| valign="top" |
 
| valign="top" |
The Configuration Server's tenant name.
+
Configuration Server's tenant name.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 147: Line 153:
 
<nowiki>http://onpremiselab.com</nowiki>
 
<nowiki>http://onpremiselab.com</nowiki>
 
| valign="top" |
 
| valign="top" |
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.
+
Specifies an array by using double quotes and a comma to separate values with no white space in between. Used as part of OAuth authentication flow.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
 
ingressTlsEnable
 
ingressTlsEnable
 
| valign="top" |
 
| valign="top" |
true
+
false
 
| valign="top" |
 
| valign="top" |
 
Enables Ingress secured endpoint configuration for Web Services and Applications.<br>
 
Enables Ingress secured endpoint configuration for Web Services and Applications.<br>
Line 162: Line 168:
 
false
 
false
 
| valign="top" |
 
| valign="top" |
Enables post deployment procedure, which creates default Genesys environment, contact center and OAuth client. <br>
+
Enables the post deployment procedure, which creates the default Genesys environment, contact center and OAuth client. <br>
'''Note:''' If '''POST_DEPLOY_UPDATE''' is set to <tt>true</tt>, '''GWS_DOMAIN''' will be used for contact center domain creation, and agents should provide domain information at login ('''GWS_DOMAIN\%CfgPerson's username%''').  
+
'''Note:''' If '''POST_DEPLOY_UPDATE''' is set to <tt>true</tt>, '''GWS_DOMAIN''' is used when the contact center domain is created, and agents should provide domain information at login ('''GWS_DOMAIN\%CfgPerson's username%''').  
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 170: Line 176:
 
false
 
false
 
| valign="top" |
 
| valign="top" |
Enables PostgreSQL deployment procedure in the same namespace as Web Services and Applications.<br>
+
Enables the PostgreSQL deployment procedure in the same namespace as Web Services and Applications.<br>
 
'''Note:''' For lab deployments only.
 
'''Note:''' For lab deployments only.
 
|-
 
|-
Line 178: Line 184:
 
postgres
 
postgres
 
| valign="top" |
 
| valign="top" |
Address of PostgreSQL installation. <br>
+
Address of the PostgreSQL installation. <br>
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value should be retained.
+
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value is used.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 187: Line 193:
 
| valign="top" |
 
| valign="top" |
 
PostgreSQL database name. <br>
 
PostgreSQL database name. <br>
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value should be retained.  
+
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value is used.  
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 195: Line 201:
 
| 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 is set to <tt>true</tt>, the default value should be retained.
+
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value is used.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 203: Line 209:
 
| valign="top" |
 
| valign="top" |
 
PostgreSQL user password. <br>
 
PostgreSQL user password. <br>
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value should be retained.
+
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, the default value is used.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 210: Line 216:
 
false
 
false
 
| valign="top" |
 
| valign="top" |
Enables Redis cluster deployment procedure in same namespace as Web Services and Applications.<br>
+
Enables the Redis cluster deployment procedure in the same namespace as Web Services and Applications.<br>
 
'''Note:''' For lab deployments only.
 
'''Note:''' For lab deployments only.
 
|-
 
|-
Line 218: Line 224:
 
redis-cluster:6379
 
redis-cluster:6379
 
| valign="top" |
 
| valign="top" |
Address of Redis cluster installation. <br>
+
Address of the Redis cluster installation. <br>
'''Note''': If DEPLOY_REDIS is set to <tt>true</tt>, the default value should be retained.
+
'''Note''': If DEPLOY_REDIS is set to <tt>true</tt>, the default value is used.
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
Line 234: Line 240:
 
elasticsearch:9200
 
elasticsearch:9200
 
| valign="top" |
 
| valign="top" |
Address of ElasticSearch cluster installation.<br>
+
Address of the Elasticsearch cluster installation.<br>
'''Note''': If DEPLOY_ELASTICSEARCH is set to <tt>true</tt>, the default value should be retained.
+
'''Note''': If DEPLOY_ELASTICSEARCH is set to <tt>true</tt>, the default value is used.
 
|}
 
|}
 
</li>
 
</li>
 +
<li>Navigate to '''/opt/genesys/gws/kubernetes'''.</li>
 
<li>Invoke Helm:
 
<li>Invoke Helm:
 
<source lang="text">
 
<source lang="text">
helm install gws/ -n gws-service -f gws-versions.yaml -f parameters.yaml
+
helm install gws gws/ -n gws-service -f gws-versions.yaml -f parameters.yaml
 
</source>
 
</source>
 +
 
Where:
 
Where:
* '''gws/''' is helm chart directory
+
* '''gws''' is the name of deployment.
* '''-n gws-service''' is Kubernetes namespace name to deploy to
+
* '''gws/''' is the helm chart directory.
* '''-f gws-versions.yaml''' is config file where versions of containers are defined
+
* '''-n gws-service''' is the Kubernetes namespace name to deploy to.
* '''-f parameters.yaml''' is config file where deployment parameters are defined
+
* '''-f gws-versions.yaml''' is the config file where versions of containers are defined.
 +
* '''-f parameters.yaml''' is the config file where deployment parameters are defined.
 
</li>
 
</li>
<li>Wait until Helm-deployed Web Service and Applications and Kubernetes cluster starts all the requested containers. It may take up to 10 minutes.</li>
+
<li>Wait until the Helm-deployed Web Services and Applications and Kubernetes cluster start all the requested containers.</li>
  
 
==Verification ==
 
==Verification ==
Line 260: Line 269:
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
GWS Authentication Service
+
Authentication Service
 
| valign="top" |
 
| valign="top" |
 
<nowiki> http://GWS_DOMAIN/auth/v3/version</nowiki>
 
<nowiki> http://GWS_DOMAIN/auth/v3/version</nowiki>
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
GWS Configuration Service
+
Configuration Service
 
| valign="top" |
 
| valign="top" |
 
<nowiki>http://GWS_DOMAIN/configuration/v3/version</nowiki>
 
<nowiki>http://GWS_DOMAIN/configuration/v3/version</nowiki>
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
GWS Environment Service
+
Environment Service
 
| valign="top" |
 
| valign="top" |
 
<nowiki>http://GWS_DOMAIN/environment/v3/version</nowiki>
 
<nowiki>http://GWS_DOMAIN/environment/v3/version</nowiki>
 
|-
 
|-
 
| valign="top" |
 
| valign="top" |
GWS Data Collector Service
+
Data Collector Service
 
| valign="top" |
 
| valign="top" |
 
<nowiki>http://GWS_DOMAIN/datacollector/v3/version</nowiki>
 
<nowiki>http://GWS_DOMAIN/datacollector/v3/version</nowiki>

Revision as of 13:33, March 26, 2020

Deployment of Web Services and Applications in Kuberbetes

Prerequisites

For hardware, software, and Workspace Web Edition requirements, refer to Prerequisites. Also, ensure your environment has access to docker.io/library. If internet access is not available, manually load the following public container images to the Docker registry:

Configuring Web Services and Applications

To configure Web Services and Applications, refer to Configuring Web Services and Applications.

Configuring Security

Transport Layer Security (TLS) is available only in Kubernetes-based deployment. For more details, refer to Configuring Security.

Deploying GWS

  1. Unpack the installation package (e.g. IP_HTCCDev_9000253b1_ENU_dockerlinux.zip file) and navigate to the ip folder which contains the following files:
    • gws-microservices.tgz
    • exported microservices in tar.gz format (e.g. gws-platform-configuration_9.0.000.42.tar.gz)
  2. Unpack the gws-microservices.tgz archive to the /opt/genesys/gws directory.
    mkdir -p /opt/genesys/gws
    tar xvf gws-microservices.tgz -C /opt/genesys/gws
  3. Populate Docker images (presented in *.tar.gz format) from the 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
    Important
    This script must be run with Docker-capable privileges and you must login to your registry before pushing.
  4. Edit the following values in the /opt/genesys/gws/kubernetes/parameters.yaml file:

    Variable

    Defaul Value

    Description

    REGISTRY

    Corporate docker registry, which is accessible from all Kubernetes nodes.

    GWS_DOMAIN

    onpremiselab.com

    The host name that will be used by Ingress for routing rules creation. Note: If ingressTlsEnable is true, the deployment will be accessible though https://GWS_DOMAIN/ui/wwe/. If not, the deployment will be accessible through http://GWS_DOMAIN/ui/wwe/.

    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

    GWS_App

    Application name to connect to Configuration Server. For details, refer to Creating GWS Client Application.

    CS_ADDRESS

    127.0.0.1

    Address of the primary Configuration Server.

    CS_PORT

    8888

    Port of the primary Configuration Server.

    CS_BACKUP_ADDRESS

    127.0.0.1

    Address of the backup Configuration Server.

    CS_BACKUP_PORT

    8888

    Port of the backup Configuration Server.

    CS_TENANT

    Environment

    Configuration Server's tenant name.

    GWS_REDIRECT_URI

    http://onpremiselab.com

    Specifies an array by using double quotes and a 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.
    Note: Refer to Configuring Security for more details.

    POST_DEPLOY_UPDATE

    false

    Enables the post deployment procedure, which creates the default Genesys environment, contact center and OAuth client.
    Note: If POST_DEPLOY_UPDATE is set to true, GWS_DOMAIN is used when the contact center domain is created, and agents should provide domain information at login (GWS_DOMAIN\%CfgPerson's username%).

    DEPLOY_POSTGRES

    false

    Enables the PostgreSQL deployment procedure in the same namespace as Web Services and Applications.
    Note: For lab deployments only.

    POSTGRES_ADDR

    postgres

    Address of the PostgreSQL installation.
    Note: If DEPLOY_POSTGRES is set to true, the default value is used.

    POSTGRES_DB

    gws_environment

    PostgreSQL database name.
    Note: If DEPLOY_POSTGRES is set to true, the default value is used.

    POSTGRES_USER

    gws_env_master

    PostgreSQL user, which can be used to connect to database.
    Note: If DEPLOY_POSTGRES is set to true, the default value is used.

    POSTGRES_PASS

    gws_env_password

    PostgreSQL user password.
    Note: If DEPLOY_POSTGRES is set to true, the default value is used.

    DEPLOY_REDIS

    false

    Enables the Redis cluster deployment procedure in the same namespace as Web Services and Applications.
    Note: For lab deployments only.

    REDIS_ADDR

    redis-cluster:6379

    Address of the Redis cluster installation.
    Note: If DEPLOY_REDIS is set to true, the default value is used.

    DEPLOY_ELASTICSEARCH

    false

    Enables ElasticSearch cluster deployment procedure in same namespace as Web Services and Applications.
    Note: For lab deployments only.

    ELASTICSEARCH

    elasticsearch:9200

    Address of the Elasticsearch cluster installation.
    Note: If DEPLOY_ELASTICSEARCH is set to true, the default value is used.

  5. Navigate to /opt/genesys/gws/kubernetes.
  6. Invoke Helm:
    helm install gws gws/ -n gws-service -f gws-versions.yaml -f parameters.yaml

    Where:

    • gws is the name of deployment.
    • gws/ is the helm chart directory.
    • -n gws-service is the Kubernetes namespace name to deploy to.
    • -f gws-versions.yaml is the config file where versions of containers are defined.
    • -f parameters.yaml is the config file where deployment parameters are defined.
  7. Wait until the Helm-deployed Web Services and Applications and Kubernetes cluster start all the requested containers.
  8. Verification

    Use the following links to get the expected versions of the Web Services and Applications components and verify they are correct:

    Service

    Verification URLs

    Authentication Service

    http://GWS_DOMAIN/auth/v3/version

    Configuration Service

    http://GWS_DOMAIN/configuration/v3/version

    Environment Service

    http://GWS_DOMAIN/environment/v3/version

    Data Collector Service

    http://GWS_DOMAIN/datacollector/v3/version

    Workspace Web Edition

    http://GWS_DOMAIN/ui/wwe/index.html

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