Jump to: navigation, search
(Update with the copy of version: 9.0.0DRAFT)
(Update with the copy of version: 9.0.0DRAFT)
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Deploying Web Services and Applications =
+
=Deployment of Web Services and Applications in Kubernetes=
 +
{{NoteFormat|
 +
* Only a Helm v3 deployment method is supported.
 +
* High Availability (HA) is provided through N+1 architecture.
 +
* Disaster Recovery (DR) – Contact your Genesys representative and the Architecture team for guidance about recommended DR designs.
 +
|3}}
 +
<!-- {{PrereleaseDisclaimer}} -->
 +
==Prerequisites==
 +
For hardware, software, Workspace Web Edition, and Gplus Adapter for Salesforce 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 1.7.2}}
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/elasticsearch|displaytext=Elasticsearch 7.8}}
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/postgres|displaytext=Postgres 11}}
 +
* {{#Widget:ExtLink|link=https://hub.docker.com/_/redis|displaytext=Redis 5}}
  
After you install [[Prerequisites#docker|Docker]] and [[Prerequisites#kubernetes|Kubernetes]], follow the steps on this page to deploy 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]].
 +
==Configuring Security==
 +
Transport Layer Security (TLS) is available only in Kubernetes-based deployment. For more details, refer to [[Documentation:HTCC:Dep:Security|Configuring Security]].
  
{{NoteFormat|{{Editgrn_open}}XR: Where and how to get the Docker image for deployment?{{Editgrn_close}} }}
+
== Deploying GWS==
 +
<ol>
 +
<li>Unpack the installation package (e.g. '''IP_HTCCDev_9000253b1_ENU_dockerlinux.zip''' file) and navigate to the '''ip''' folder that contains the following files:
 +
* '''gws-microservices.tgz'''
 +
* exported microservices in tar.gz format (e.g. '''gws-platform-configuration_9.0.000.42.tar.gz''')
 +
</li>
 +
<li>Unpack the '''gws-microservices.tgz''' archive to the '''/opt/genesys/gws''' directory.
 +
<source lang="text">
 +
mkdir -p /opt/genesys/gws
 +
tar xvf gws-microservices.tgz -C /opt/genesys/gws
 +
</source>
 +
</li>
 +
<li>Populate Docker images (presented in *.tar.gz format) from the installation package to your corporate docker registry.
 +
<source lang="text">
 +
for i in *.tar.gz; do /opt/genesys/gws/kubernetes/bin/push-container-to-local-registry.sh $i %corporate_registry_address% --push; done
 +
</source>
 +
{{NoteFormat|This script must be run with Docker-capable privileges and you must log in to your registry before pushing.}}
 +
</li>
 +
<li>Edit the following values in the '''/opt/genesys/gws/kubernetes/parameters.yaml''' file:{{AnchorDiv|YamlParameters}}
 +
{|
 +
| valign="top" |
 +
'''Variable'''
 +
| valign="top" |
 +
'''Default Value'''
 +
| valign="top" |
 +
'''Description'''
 +
|-
 +
| valign="top" |
 +
DEPLOYMENT_TYPE
 +
| valign="top" |
 +
ALL
 +
| valign="top" |
 +
Controls the microservices that will be deployed. <br>
 +
'''ALL''' - All microservices from the package. <br>
 +
'''CXCONLY''' - All requirements for CXC.
 +
|-
 +
| valign="top" |
 +
REGISTRY
 +
| valign="top" |
  
The following Kubernetes distributions are supported:
+
| valign="top" |
* OpenShift
+
Corporate docker registry, which is accessible from all Kubernetes nodes.
* Google Kubernetes Engine
+
|-
 +
| valign="top" |
 +
GWS_DOMAIN
 +
| valign="top" |
 +
<nowiki>onpremiselab.com</nowiki>
 +
| valign="top" |
 +
Contact center domain information. Used during post deployment provisioning when POST_DEPLOY_UPDATE is set to <tt>true</tt>. <br>
 +
'''Note:''' Contact center domain information must be provided during each Web Services and Applications login in the "Tenant" field.
 +
|-
 +
| valign="top" |
 +
LOCATION
 +
| valign="top" |
 +
/USW2
 +
| valign="top" |
 +
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.
 +
|-
 +
| valign="top" |
 +
CS_USER
 +
| valign="top" |
 +
default
 +
| valign="top" |
 +
Username to connect to Configuration Server.
 +
|-
 +
| valign="top" |
 +
CS_PASS
 +
| valign="top" |
 +
password
 +
| valign="top" |
 +
Password to connect to Configuration Server.
 +
|-
 +
| valign="top" |
 +
CS_APP_NAME
 +
| valign="top" |
 +
Cloud
 +
| valign="top" |
 +
Application name to connect to Configuration Server. <!--For details, refer to [[ConfigurationPremise#gaxgwsclient| Creating GWS Client Application]]-->
 +
|-
 +
| valign="top" |
 +
CS_ADDRESS
 +
| valign="top" |
 +
127.0.0.1
 +
| valign="top" |
 +
Address of the primary Configuration Server.
 +
|-
 +
| valign="top" |
 +
CS_PORT
 +
| valign="top" |
 +
8888
 +
| valign="top" |
 +
Port of the primary Configuration Server.
 +
|-
 +
| valign="top" |
 +
CS_BACKUP_ADDRESS
 +
| valign="top" |
 +
127.0.0.1
 +
| valign="top" |
 +
Address of the backup Configuration Server.
 +
|-
 +
| valign="top" |
 +
CS_BACKUP_PORT
 +
| valign="top" |
 +
8888
 +
| valign="top" |
 +
Port of the backup Configuration Server.
 +
|-
 +
| valign="top" |
 +
CS_TENANT
 +
| valign="top" |
 +
Environment
 +
| valign="top" |
 +
Configuration Server's tenant name.
 +
|-
 +
| valign="top" |
 +
GWS_REDIRECT_URI
 +
| valign="top" |
 +
<nowiki>http://onpremiselab.com</nowiki>
 +
| valign="top" |
 +
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" |
 +
POSTGRES_PORT
 +
| valign="top" |
 +
5432
 +
| valign="top" |
 +
Port of PostgreSQL installation.
 +
|-
 +
| valign="top" |
 +
POST_DEPLOY_UPDATE
 +
| valign="top" |
 +
false
 +
| valign="top" |
 +
Enables the post deployment procedure that creates the default Genesys environment, contact center, and OAuth client.
 +
|-
 +
| valign="top" |
 +
DEPLOY_POSTGRES
 +
| valign="top" |
 +
false
 +
| valign="top" |
 +
Enables the PostgreSQL deployment procedure in the same namespace as Web Services and Applications.<br>
 +
'''Note:''' For lab deployments only.
 +
|-
 +
| valign="top" |
 +
POSTGRES_ADDR
 +
| valign="top" |
 +
postgres
 +
| valign="top" |
 +
Address of the PostgreSQL installation. <br>
 +
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, do not change the default value.
 +
|-
 +
| valign="top" |
 +
POSTGRES_DB
 +
| valign="top" |
 +
gws_environment
 +
| valign="top" |
 +
PostgreSQL database name. <br>
 +
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, do not change the default value.
 +
|-
 +
| valign="top" |
 +
POSTGRES_IMAGE
 +
| valign="top" |
 +
postgres:11-alpine
 +
| valign="top" |
 +
Address of the PostreSQL container image, such as <tt><customers_private_docker_registry_address>/postgres:11-alpine</tt> <br>
 +
'''Note:''' For lab deployments only.
 +
|-
 +
| valign="top" |
 +
POSTGRES_USER
 +
| valign="top" |
 +
gws_env_master
 +
| valign="top" |
 +
PostgreSQL user, which can be used to connect to database. <br>
 +
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, do not change the default value.
 +
|-
 +
| valign="top" |
 +
POSTGRES_PASS
 +
| valign="top" |
 +
gws_env_password
 +
| valign="top" |
 +
PostgreSQL user password. <br>
 +
'''Note''': If DEPLOY_POSTGRES is set to <tt>true</tt>, do not change the default value.
 +
|-
 +
| valign="top" |
 +
DEPLOY_REDIS
 +
| valign="top" |
 +
false
 +
| valign="top" |
 +
Enables the Redis cluster deployment procedure in the same namespace as Web Services and Applications.<br>
 +
'''Note:''' For lab deployments only.
 +
|-
 +
| valign="top" |
 +
REDIS_ADDR
 +
| valign="top" |
 +
redis-cluster
 +
| valign="top" |
 +
Address of the Redis cluster installation. <br>
 +
'''Note''': If DEPLOY_REDIS is set to <tt>true</tt>, do not change the default value.
 +
|-
 +
| valign="top" |
 +
REDIS_IMAGE
 +
| valign="top" |
 +
redis:5-stretch
 +
| valign="top" |
 +
Address of the Redis container image, such as <tt><customers_private_docker_registry_address>/redis:5-stretch</tt> <br>
 +
'''Note:''' For lab deployments only.
 +
|-
 +
| valign="top" |
 +
REDIS_PORT
 +
| valign="top" |
 +
6379
 +
| valign="top" |
 +
Port of the Redis cluster installation.
 +
|-
 +
| valign="top" |
 +
DEPLOY_ELASTICSEARCH
 +
| valign="top" |
 +
false
 +
| valign="top" |
 +
Enables ElasticSearch cluster deployment procedure in the same namespace as Web Services and Applications.<br>
 +
'''Note:''' For lab deployments only.
 +
|-
 +
| valign="top" |
 +
ELASTICSEARCH_ADDR
 +
| valign="top" |
 +
elasticsearch
 +
| valign="top" |
 +
Address of the Elasticsearch cluster installation.<br>
 +
'''Note''': If DEPLOY_ELASTICSEARCH is set to <tt>true</tt>, do not change the default value.
 +
|-
 +
| valign="top" |
 +
ELASTICSEARCH_IMAGE
 +
| valign="top" |
 +
elasticsearch:7.8.1
 +
| valign="top" |
 +
Address of the Elasticsearch container image, such as <tt><customers_private_docker_registry_address>/elasticsearch:7.8.1</tt> <br>
 +
'''Note:''' For lab deployments only.
 +
|-
 +
| valign="top" |
 +
ELASTICSEARCH_PORT
 +
| valign="top" |
 +
9200
 +
| valign="top" |
 +
Port of the Elasticsearch cluster installation.
 +
|-
 +
| valign="top" |
 +
CONSUL_IMAGE
 +
| valign="top" |
 +
consul:1.7.2
 +
| valign="top" |
 +
Address of the Consul container image, such as <tt><customers_private_docker_registry_address>/consul:1.7.2</tt>
 +
|-
 +
| nodeSelector
 +
|<nowiki>{}</nowiki>
 +
| Enables to configure Kubernetes [https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector nodeSelector] to target specific nodes.
 +
|-
 +
| valign="top" |
 +
entryPoint.internal.service.type
 +
| valign="top" |
 +
LoadBalancer
 +
| valign="top" |
 +
Internal endpoint configuration service type for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.internal.service.annotations
 +
| valign="top" |
 +
{}
 +
| valign="top" |
 +
Optional internal service endpoint configuration for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.internal.ingress.annotations
 +
| valign="top" |
 +
{}
 +
| valign="top" |
 +
Optional internal ingress endpoint configuration annotations for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.internal.ingress.tlsEnable
 +
| valign="top" |
 +
false
 +
| valign="top" |
 +
Enables ingress-secured internal endpoint configuration for Web Service and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.internal.ingress.secretName
 +
| valign="top" |
 +
gws-secret-int
 +
| valign="top" |
 +
Internal ingress endpoint configuration secret name for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.internal.ingress.hostName
 +
| valign="top" |
 +
gws-int.test.com
 +
| valign="top" |
 +
The hostname, which will be used for internal ingress configuration.
 +
|-
 +
| valign="top" |
 +
entryPoint.external.service.type
 +
| valign="top" |
 +
ClusterIP
 +
| valign="top" |
 +
External endpoint configuration service type for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.external.service.annotations
 +
| valign="top" |
 +
{}
 +
| valign="top" |
 +
Optional external service endpoint configuration for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.external.ingress.annotations
 +
| valign="top" |
 +
{}
 +
| valign="top" |
 +
Optional external ingress endpoint configuration annotations for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.external.ingress.tlsEnable
 +
| valign="top" |
 +
false
 +
| valign="top" |
 +
Enables ingress secured external endpoint configuration for Web Service and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.external.ingress.secretName
 +
| valign="top" |
 +
gws-secret-ext
 +
| valign="top" |
 +
External ingress endpoint configuration secret name for Web Services and Applications.
 +
|-
 +
| valign="top" |
 +
entryPoint.external.ingress.hostName
 +
| valign="top" |
 +
<nowiki>http://onpremiselab.com</nowiki>
 +
| valign="top" |
 +
The hostname that will be used for external ingress configuration. <br>
 +
'''Note:''' If entryPoint.external.ingress.tlsEnable is <tt>true</tt>, the deployment will be accessible through <nowiki>https://entryPoint.external.ingress.hostName/ui/wwe/</nowiki>, else the deployment will be accessible through <nowiki>http://entryPoint.external.ingress.hostName/ui/wwe/</nowiki>.
 +
|}
 +
</li>
 +
<li>Navigate to '''/opt/genesys/gws/kubernetes'''.</li>
 +
<li>Invoke Helm:
 +
<source lang="text">
 +
helm install gws gws/ -n gws-service -f gws-versions.yaml -f parameters.yaml
 +
</source>
  
== Requirements ==
+
Where:
# {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/tools/install-kubectl/|displaytext=Kubectl}} and {{#Widget:ExtLink|link=https://docs.helm.sh/using_helm/#installing-helm|displaytext=Helm}} client utilities
+
* '''gws''' is the name of deployment.
#* Tiller is not required.
+
* '''gws/''' is the helm chart directory.
## For Google Kubernetes Engine deployments, install and configure the ''{{#Widget:ExtLink|link=https://cloud.google.com/sdk/docs/#linux
+
* '''-n gws-service''' is the Kubernetes namespace name to deploy to.
|displaytext=gcloud}}'' utility.
+
* '''-f gws-versions.yaml''' is the config file where versions of containers are defined.
# The scripts reside in the '''gws-microservices''' hg repository.  
+
* '''-f parameters.yaml''' is the config file where deployment parameters are defined.
 +
</li>
 +
<li>Wait until the Helm-deployed Web Services and Applications and Kubernetes cluster start all the requested containers.</li>
 +
</ol>
  
<div class="cloud-tabberlive-wrapper">
+
==Verification ==
<tabber>
+
Use the following URLs to get the expected versions of the Web Services and Applications components and verify they are correct:
 
OpenShift=
 
<div class="cloud-wrapper">
 
<h2>Deploying GWS with OpenShift Platform</h2>
 
<div class="cloud-left">
 
 
 
* Copy your configuration to '''~/.kube/config'''.
 
* Open a shell session.
 
* Type  <tt>kubectl get nodes</tt> to list the nodes in your cluster.
 
* Type <tt>cd gws-microservices/production/premise/kubernetes</tt> to go to the '''kubernetes''' directory.
 
* Create your own environment configuration file and put it to '''env-examples''' directory. Or use the ones available.
 
** Type <tt>. env-examples/<YOUR ENVIRONMENT SOURCE FILE></tt> to source the cluster environment variables.
 
* Import GWS-applications docker images to your container registry or add the GWS registry keys to '''/etc/docker.d'''.
 
** Get the registry keys and add them to '''/etc/docker.d''' on all hosts.
 
* Restart docker.
 
</div>
 
</div>
 
 
|-|
 
Google Kubernetes Engine=
 
<div class="cloud-wrapper">
 
<h2>Deploying GWS with Google Kubernetes Engine</h2>
 
<div class="cloud-left">
 
* Follow the registration web-UI steps.
 
* Open a shell session.
 
* Type <tt>gcloud container clusters list</tt> to list existing clusters for running containers.
 
* Type <tt>cd gws-microservices/production/premise/kubernetes</tt>  to go to the '''kubernetes''' directory.
 
* Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
 
* Type <tt>. env-examples/<YOUR ENVIRONMENT SOURCE FILE></tt> to source the cluster environment variables.
 
**  Import GWS-applications docker images to your container registry or add the GWS registry keys to '''/etc/docker.d'''.
 
* Get the GWS-microservices docker images tarball via any Genesys supply channel and import it to Google Container Registry: <tt>TARBALL=/full/path/to/GWS/apps/tarball push-containers-to-gke.sh</tt>
 
 
 
</div>
 
</div>
 
 
 
 
</tabber>
 
<div style="clear: both;"> </div>
 
 
 
{{NoteFormat|{{Editgrn_open}}XR: Is there a sequence to be followed? What needs to be deployed first?{{Editgrn_close}}|}}
 
 
 
=== Deploying GWS Infrastructure===
 
{{Editgrn_open}}XR: Should we delete first before deploying?{{Editgrn_close}}
 
<pre>
 
./gws-infra-deploy.sh delete
 
./gws-infra-deploy.sh
 
</pre>
 
 
 
=== Deploying  GWS Application Stack===
 
<pre>
 
./gws-app-deploy.sh delete
 
./gws-app-deploy.sh
 
</pre>
 
 
 
=== Deploying  Prometheus and Grafana ===
 
{{NoteFormat|These services are deployed cluster-wide and do not depend on GWS-applications' loads. }}
 
<pre>
 
$ ./monitoring-deploy.sh delete
 
$ ./monitoring-deploy.sh
 
</pre>
 
 
 
=== Pulling Current GWS Applications Container ===
 
 
 
<pre>
 
$ STACK_DOCKER_IMAGE_PATH=gws-registry-usw1.genhtcc.com ./pull-containers.sh
 
</pre>
 
 
 
[[Category:V:HTCC:9.0.0]]
 
  
 +
{|
 +
| valign="top" |
 +
'''Service'''
 +
| valign="top" |
 +
'''Verification URLs'''
 +
|-
 +
| valign="top" |
 +
Authentication Service
 +
| valign="top" |
 +
<nowiki>http://entryPoint.internal.ingress.hostName/auth/v3/version</nowiki>
 +
|-
 +
| valign="top" |
 +
Configuration Service
 +
| valign="top" |
 +
<nowiki>http://entryPoint.internal.ingress.hostName/configuration/v3/version</nowiki>
 +
|-
 +
| valign="top" |
 +
Environment Service
 +
| valign="top" |
 +
<nowiki>http://entryPoint.internal.ingress.hostName/environment/v3/version</nowiki>
 +
|-
 +
| valign="top" |
 +
Data Collector Service
 +
| valign="top" |
 +
<nowiki>http://entryPoint.internal.ingress.hostName/datacollector/v3/version</nowiki>
 +
|-
 +
| valign="top" |
 +
Workspace Web Edition
 +
| valign="top" |
 +
<nowiki>http://entryPoint.external.ingress.hostName/ui/wwe/index.html</nowiki>
 +
|}
  
 
[[Category:V:HTCC:9.0.0]]
 
[[Category:V:HTCC:9.0.0]]

Latest revision as of 19:56, December 22, 2020

Deployment of Web Services and Applications in Kubernetes

Warning
  • Only a Helm v3 deployment method is supported.
  • High Availability (HA) is provided through N+1 architecture.
  • Disaster Recovery (DR) – Contact your Genesys representative and the Architecture team for guidance about recommended DR designs.

Prerequisites

For hardware, software, Workspace Web Edition, and Gplus Adapter for Salesforce 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 that 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-container-to-local-registry.sh $i %corporate_registry_address% --push; done
    Important
    This script must be run with Docker-capable privileges and you must log in to your registry before pushing.
  4. Edit the following values in the /opt/genesys/gws/kubernetes/parameters.yaml file:

    Variable

    Default Value

    Description

    DEPLOYMENT_TYPE

    ALL

    Controls the microservices that will be deployed.
    ALL - All microservices from the package.
    CXCONLY - All requirements for CXC.

    REGISTRY

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

    GWS_DOMAIN

    onpremiselab.com

    Contact center domain information. Used during post deployment provisioning when POST_DEPLOY_UPDATE is set to true.
    Note: Contact center domain information must be provided during each Web Services and Applications login in the "Tenant" field.

    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_USER

    default

    Username to connect to Configuration Server.

    CS_PASS

    password

    Password to connect to Configuration Server.

    CS_APP_NAME

    Cloud

    Application name to connect to Configuration Server.

    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.

    POSTGRES_PORT

    5432

    Port of PostgreSQL installation.

    POST_DEPLOY_UPDATE

    false

    Enables the post deployment procedure that creates the default Genesys environment, contact center, and OAuth client.

    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, do not change the default value.

    POSTGRES_DB

    gws_environment

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

    POSTGRES_IMAGE

    postgres:11-alpine

    Address of the PostreSQL container image, such as <customers_private_docker_registry_address>/postgres:11-alpine
    Note: For lab deployments only.

    POSTGRES_USER

    gws_env_master

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

    POSTGRES_PASS

    gws_env_password

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

    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

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

    REDIS_IMAGE

    redis:5-stretch

    Address of the Redis container image, such as <customers_private_docker_registry_address>/redis:5-stretch
    Note: For lab deployments only.

    REDIS_PORT

    6379

    Port of the Redis cluster installation.

    DEPLOY_ELASTICSEARCH

    false

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

    ELASTICSEARCH_ADDR

    elasticsearch

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

    ELASTICSEARCH_IMAGE

    elasticsearch:7.8.1

    Address of the Elasticsearch container image, such as <customers_private_docker_registry_address>/elasticsearch:7.8.1
    Note: For lab deployments only.

    ELASTICSEARCH_PORT

    9200

    Port of the Elasticsearch cluster installation.

    CONSUL_IMAGE

    consul:1.7.2

    Address of the Consul container image, such as <customers_private_docker_registry_address>/consul:1.7.2

    nodeSelector {} Enables to configure Kubernetes nodeSelector to target specific nodes.

    entryPoint.internal.service.type

    LoadBalancer

    Internal endpoint configuration service type for Web Services and Applications.

    entryPoint.internal.service.annotations

    {}

    Optional internal service endpoint configuration for Web Services and Applications.

    entryPoint.internal.ingress.annotations

    {}

    Optional internal ingress endpoint configuration annotations for Web Services and Applications.

    entryPoint.internal.ingress.tlsEnable

    false

    Enables ingress-secured internal endpoint configuration for Web Service and Applications.

    entryPoint.internal.ingress.secretName

    gws-secret-int

    Internal ingress endpoint configuration secret name for Web Services and Applications.

    entryPoint.internal.ingress.hostName

    gws-int.test.com

    The hostname, which will be used for internal ingress configuration.

    entryPoint.external.service.type

    ClusterIP

    External endpoint configuration service type for Web Services and Applications.

    entryPoint.external.service.annotations

    {}

    Optional external service endpoint configuration for Web Services and Applications.

    entryPoint.external.ingress.annotations

    {}

    Optional external ingress endpoint configuration annotations for Web Services and Applications.

    entryPoint.external.ingress.tlsEnable

    false

    Enables ingress secured external endpoint configuration for Web Service and Applications.

    entryPoint.external.ingress.secretName

    gws-secret-ext

    External ingress endpoint configuration secret name for Web Services and Applications.

    entryPoint.external.ingress.hostName

    http://onpremiselab.com

    The hostname that will be used for external ingress configuration.
    Note: If entryPoint.external.ingress.tlsEnable is true, the deployment will be accessible through https://entryPoint.external.ingress.hostName/ui/wwe/, else the deployment will be accessible through http://entryPoint.external.ingress.hostName/ui/wwe/.

  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.

Verification

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

Service

Verification URLs

Authentication Service

http://entryPoint.internal.ingress.hostName/auth/v3/version

Configuration Service

http://entryPoint.internal.ingress.hostName/configuration/v3/version

Environment Service

http://entryPoint.internal.ingress.hostName/environment/v3/version

Data Collector Service

http://entryPoint.internal.ingress.hostName/datacollector/v3/version

Workspace Web Edition

http://entryPoint.external.ingress.hostName/ui/wwe/index.html

This page was last edited on December 22, 2020, at 19:56.
Comments or questions about this documentation? Contact us for support!