Jump to: navigation, search
(Prerequisites)
Line 25: Line 25:
 
# Unpack the Genesys Applications package tarball and change to the '''kubernetes''' directory: <br /> <pre>$ cd kubernetes</pre>
 
# Unpack the Genesys Applications package tarball and change to the '''kubernetes''' directory: <br /> <pre>$ cd kubernetes</pre>
 
# Create an environment configuration file ('''gws.env''') from template located
 
# Create an environment configuration file ('''gws.env''') from template located
#* The versions of GWS applications should be specified by setting environment variables in the created gws.env file: <br /> <pre>export GWS_SOME_SERVICE_VERSION="9.0.000.00.470"</pre>
+
#* The versions of GWS applications should be specified by setting environment variables in the created '''gws.env''' file: <br /> <pre>export GWS_SOME_SERVICE_VERSION="9.0.000.00.470"</pre>
# Run the environment file you have created and see all available commands: <br /> <pre>* $ . ./gws.env</pre>
+
# Run the environment file you have created and see all available commands: <br /> <pre>$ . ./gws.env</pre>
 
# Import GWS applications docker images to the client's container registry.
 
# Import GWS applications docker images to the client's container registry.
 +
# Deploy GWS infrastructure using '''gws-infra-deploy.sh''' script.The script will deploy GWS dependency servers - ElasticSearch, Redis, Consul, etc., at your Kubernetes cluster.
 +
# Deploy GWS microservices using '''gws-app-deploy.sh''' script.
 +
# Initialize GWS using '''gws-postdeploy.sh''' script.
  
==Deployment Steps==
+
{{NoteFormat|Running the command with the <tt>delete</tt> parameter will allow deleting the infrastructure or apps stack|}}
 
 
# Validate your Kubernetes credentials:
 
#* Follow the registration web-UI steps. and type <tt>gcloud container clusters list</tt> command to see all GKE clusters available to you, if any.
 
 
 
#*#  Unpack the ''gws-microservices''.tgz file with the following command:<br />
 
<tt>tar -zxf ''gws-microservices''.tgz</tt>
 
 
 
 
 
 
 
 
 
  
 +
====DNS  and Storage Requirements====
 +
All of the services ingresses require DNS names to be pre-populated to get access to.
  
 +
* Openshift: the GlusterFS storage should be pre-populated manually.
 +
* NFS (for premise deployments) - should be pre-populated manually.
 +
* GKE - just works out of the box, no further interaction required.
 +
* AWS - dynamic storage provisioning works out of the box.
 +
* No storage - just set the <tt>PERSISTENT_STORAGE</tt> to ''false'' variable in your environment file.
  
# Go to the '''kubernetes''' directory:<br /><tt>cd gws-microservices/kubernetes</tt>
 
 
 
# Modify the '''''<ToBeChanged: …''''''''>''' values defined in the configurations files with the actual values required by deployment.
 
 
#* the '''conf/gke.env''' file for GKE deployments
 
#* the '''conf/openshift.env''' file for OpenShift deployments
 
 
 
# Apply the modified configuration file to the current bash session:<br /><tt>source conf/gke.env</tt> for GKE deployments<br /><tt>source conf/openshift.env</tt> for OpenShift deployments
 
 
 
# Deploy the monitoring stack using '''gws-monitoring-deploy.sh''' script'''.''' The script will deploy Prometheus and Grafana solutions at your Kubernetes cluster.
 
# Deploy GWS infrastructure using '''gws-infra-deploy.sh''' script'''.''' The script will deploy GWS dependency servers - ElasticSearch, Redis, Consul, etc., at your Kubernetes cluster.
 
# Deploy GWS microservices using '''gws-app-deploy.sh''' script.
 
# Initialize GWS using '''gws-postinstall.sh''' script. The script uses GWS REST API to provision environment, contact center, and authentication client.
 
  
==Upgrade Procedure==
 
# Download new version of '''gws-microservices.tgz''' package from Genesys FTP to the deployment host.
 
# Unpack the ''gws-microservices''.tgz file with the following command:<br /><tt> tar -zxf gws-microservices.tgz</tt>
 
# Go to the '''kubernetes''' directory:<br /><tt>cd gws-microservices/kubernetes</tt>
 
# Modify the '''<ToBeChanged: …>''' values defined in the '''conf/gke.env''' file with the actual values required by deployment. Refer to the file used in deployment.
 
# Apply the modified configuration file to the current bash session:<br /><tt>source conf/gke.env</tt>
 
# Upgrade GWS microservices using '''gws-app-deploy.sh''' script.
 
  
 
[[Category:V:HTCC:9.0.0DRAFT]]
 
[[Category:V:HTCC:9.0.0DRAFT]]

Revision as of 11:23, June 17, 2019

Deployment of Web Services and Applications

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.

Hardware recommendations

The solution can be deployed at a Kubernetes cluster with a minimal size of 3 nodes with an overall amount of 96 GB RAM. Recommended hardware requirements for each Kubernetes node:

  • CPU: 4 - 8 cores
  • RAM: 32 GB
  • HDD: 500 GB

Prerequisites

  1. Kubernetes cluster deployed and available. The following Kubernetes distributions are currently supported:
    • Red Hat Openshift Enterprise
    • Openshift Kubernetes Deployment
    • Rancher Kubernetes Deployment
    • Google Kubernetes Engine (GKE)
    • Amazon Elastic Kubernetes Service (EKS)
  1. Client-side utilities installed at deployment host:
    • Kubectl tool
    • gcloud utility (for GKE deployments)
    • eksctl (for Amazon EKS)
    • Genesys applications package from Genesys Software Distribution Services.

Deploying GWS

  1. Unpack the Genesys Applications package tarball and change to the kubernetes directory:
    $ cd kubernetes
  2. Create an environment configuration file (gws.env) from template located
    • The versions of GWS applications should be specified by setting environment variables in the created gws.env file:
      export GWS_SOME_SERVICE_VERSION="9.0.000.00.470"
  3. Run the environment file you have created and see all available commands:
    $ . ./gws.env
  4. Import GWS applications docker images to the client's container registry.
  5. Deploy GWS infrastructure using gws-infra-deploy.sh script.The script will deploy GWS dependency servers - ElasticSearch, Redis, Consul, etc., at your Kubernetes cluster.
  6. Deploy GWS microservices using gws-app-deploy.sh script.
  7. Initialize GWS using gws-postdeploy.sh script.
Important
Running the command with the delete parameter will allow deleting the infrastructure or apps stack

DNS and Storage Requirements

All of the services ingresses require DNS names to be pre-populated to get access to.

  • Openshift: the GlusterFS storage should be pre-populated manually.
  • NFS (for premise deployments) - should be pre-populated manually.
  • GKE - just works out of the box, no further interaction required.
  • AWS - dynamic storage provisioning works out of the box.
  • No storage - just set the PERSISTENT_STORAGE to false variable in your environment file.
Comments or questions about this documentation? Contact us for support!