Difference between revisions of "GWS/Current/GWSPEGuide/Deploy"

From Genesys Documentation
Jump to: navigation, search
(Published)
 
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Article
+
{{ArticlePEServiceDeploy
|Standalone=No
+
|ServiceId=11ff3d39-ae2b-4526-b7e5-7dcdf781ef01
|DisplayName=Deploy Genesys Web Services and Applications
+
|IncludedServiceId=8b6fe412-1610-46fb-b3cf-0ffbb2bbf543
|TocName=Deploy GWS
+
|IncludeAssumptions=Yes
|Context=Learn how to deploy Genesys Web Services and Applications.
 
|ComingSoon=No
 
 
|Section={{Section
 
|Section={{Section
|sectionHeading=Deploying Genesys Web Services and Applications in OpenShift
 
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext====Login to OpenShift Cluster===
+
|structuredtext={{NoteFormat|Make sure to review {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Planning}} for the full list of prerequisites required to deploy Genesys Web Services and Applications.|}}
Use the following command to log in to OpenShift cluster from the host where you will run deployment:
+
|Status=No
 +
}}{{Section
 +
|sectionHeading=Prepare your environment
 +
|anchor=prepare
 +
|alignment=Vertical
 +
|structuredtext=To prepare your environment for the deployment, complete the steps in this section for Google Kubernetes Engine (GKE) or Azure Kubernetes Service (AKS).
 +
<!--
 +
===OpenShift===
 +
Log in to the OpenShift cluster from the host where you will run the deployment:
 
  oc login --token <token> --server <url of api server>
 
  oc login --token <token> --server <url of api server>
 +
First, confirm the cluster is running:
 +
oc get clusterversion
 +
Create a new project for Genesys Web Services and Applications (GWS):
 +
oc new-project gws
 +
-->
 +
===GKE===
 +
Log in to the GKE cluster from the host where you will run the deployment:
 +
gcloud container clusters get-credentials <cluster-name>
 +
Create a new namespace for Genesys Web Services and Applications with a JSON file that specifies the namespace metadata. For example, '''create-gws-namespace.json''':<syntaxhighlight>
 +
{
 +
  "apiVersion": "v1",
 +
  "kind": "Namespace",
 +
  "metadata": {
 +
    "name": "gws",
 +
    "labels": {
 +
      "name": "gws"
 +
    }
 +
  }
 +
}
 +
</syntaxhighlight>
 +
 +
Execute the following command to create the namespace:
 +
kubectl apply -f create-gws-namespace.json
 +
 +
Confirm the namespace was created:
 +
<syntaxhighlight>kubectl describe namespace gws</syntaxhighlight>
 +
===AKS===
 +
Log in to the AKS cluster from the host where you will run the deployment:<syntaxhighlight>
 +
az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
 +
</syntaxhighlight>
 +
 +
Create a new namespace for Genesys Web Services and Applications with a JSON file that specifies the namespace metadata. For example, '''create-gws-namespace.json''':<syntaxhighlight>
 +
{
 +
  "apiVersion": "v1",
 +
  "kind": "Namespace",
 +
  "metadata": {
 +
    "name": "gws",
 +
    "labels": {
 +
      "name": "gws"
 +
    }
 +
  }
 +
}
 +
</syntaxhighlight>
 +
 +
Execute the following command to create the namespace:
 +
kubectl apply -f create-gws-namespace.json
  
===Select your GWS Project===
+
Confirm the namespace was created:
Use the following command to select the default GWS project that was created as a prerequisite:
+
<syntaxhighlight>kubectl describe namespace gws</syntaxhighlight>
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Deploy
 +
|anchor=deploy
 +
|alignment=Vertical
 +
|structuredtext=To deploy GWS Services, you'll need the Helm package and your override files. Copy '''values.yaml''', '''versions.yaml''' and the Helm package ('''gws-services-<version>.tgz''') to the installation location.
 +
<!--
 +
For OpenShift, select the '''gws''' project you created in {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Deploy|anchor=OpenShift|display text=Prepare your environment}}:
 
  oc project gws
 
  oc project gws
 +
-->
 +
For debugging purposes, use the following command to render templates without installing so you can check that resources are created properly:
 +
helm template --debug /gws-services-<version>.tgz -f values.yaml -f versions.yaml
 +
The result shows Kubernetes descriptors. The values you see are generated from Helm templates, and based on settings from '''values.yaml''' and '''versions.yaml'''. Ensure that no errors are displayed; you will later apply this configuration to your Kubernetes cluster.
  
===Render Templates===
+
Now you're ready to deploy GWS Services:{{NoteFormat|If you have {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureTLS|display text=configured TLS}} for connections to third-party services or legacy Genesys servers, make sure to point to your local files in the <code>helm upgrade</code> command.|}}
To ensure that resources are created correctly, you can render the templates for debugging purposes within installing them. Use the following command to render the templates:
+
  helm upgrade --install gws-services <helm_directory>/gws-services --version=<version> -n gws -f ./override.gws-services.values.yaml -f ./versions.yaml
  helm template --debug /gws-services-1.0.18.tgz -f values-gws-new.yaml -f gws-versions_ltst.yaml
 
Kubernetes descriptors are displayed. The values are generated from Helm templates, based on settings from values-gws-new.yaml and gws-versions_ltst.yaml. Ensure that no errors are displayed. This configuration will be applied to your Kubernetes cluster.
 
 
 
===Deploy GWS===
 
Use the following command to deploy GWS:
 
helm install gws-services./gws-services-1.0.18.tgz -f values-gws-new.yaml -f gws-versions_ltst.yaml
 
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Validate OpenShift Deployment
+
|sectionHeading=Validate the deployment
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=Use the following command to check the installed Helm release:
+
|structuredtext=First check the installed Helm release:
 
  helm list –n gws
 
  helm list –n gws
  
The result should show gws-service deployment details similar to the following:
+
The result should show the '''gws-services''' deployment details. For example:
 
  NAME            NAMESPACE  REVISION    UPDATED                                    STATUS      CHART                  APP VERSION
 
  NAME            NAMESPACE  REVISION    UPDATED                                    STATUS      CHART                  APP VERSION
 
  gws-services    gws        1          2021-05-19  11:49:49.2243107 +0530 +0530    deployed    gws-services-1.0.18    1.0
 
  gws-services    gws        1          2021-05-19  11:49:49.2243107 +0530 +0530    deployed    gws-services-1.0.18    1.0
  
To check the Genesys Web Services and Applications project status, use the following command:
+
Check the '''gws-services''' status:
 
  helm status gws-services
 
  helm status gws-services
  
The result should display the details with <tt>STATUS: deployed</tt>:
+
The result should show the namespace details with a status of deployed:
 
  NAME: gws-services
 
  NAME: gws-services
 
  LAST DEPLOYED: Wed May 19 11:49:49 2021
 
  LAST DEPLOYED: Wed May 19 11:49:49 2021
Line 46: Line 103:
 
  TEST SUITE: None
 
  TEST SUITE: None
  
To check the GWS OpenShift objects created by Helm, use the following command:
+
Check the GWS Kubernetes objects created by Helm:
  oc get all -n gws
+
  kubectl get all -n gws
 +
The result should show all the created pods, services, ConfigMaps, and so on.
 +
 
 +
Finally, confirm Agent Setup is accessible by navigating to '''gws.<domain>/ui/provisioning''' in a web browser.
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Next steps
 +
|anchor=next
 +
|alignment=Vertical
 +
|structuredtext=*{{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureIngress}}
 +
*{{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=DeployIngress}}
 +
*{{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Provision}}
 
|Status=No
 
|Status=No
 
}}
 
}}
 
|PEPageType=45d1441f-dc69-4a17-bd47-af5d811ce167
 
|PEPageType=45d1441f-dc69-4a17-bd47-af5d811ce167
 
}}
 
}}

Latest revision as of 13:01, February 28, 2023

Learn how to deploy GWS Services into a private edition environment.

Assumptions

  • The instructions on this page assume you are deploying the service in a service-specific namespace, named in accordance with the requirements on Creating namespaces. If you are using a single namespace for all private edition services, replace the namespace element in the commands on this page with the name of your single namespace or project.
  • Similarly, the configuration and environment setup instructions assume you need to create namespace-specific (in other words, service-specific) secrets. If you are using a single namespace for all private edition services, you might not need to create separate secrets for each service, depending on your credentials management requirements. However, if you do create service-specific secrets in a single namespace, be sure to avoid naming conflicts.
Important
Make sure to review Before you begin for the full list of prerequisites required to deploy Genesys Web Services and Applications.

Prepare your environment

To prepare your environment for the deployment, complete the steps in this section for Google Kubernetes Engine (GKE) or Azure Kubernetes Service (AKS).

GKE

Log in to the GKE cluster from the host where you will run the deployment:

gcloud container clusters get-credentials <cluster-name>
Create a new namespace for Genesys Web Services and Applications with a JSON file that specifies the namespace metadata. For example, create-gws-namespace.json:
{
  "apiVersion": "v1",
  "kind": "Namespace",
  "metadata": {
    "name": "gws",
    "labels": {
      "name": "gws"
    }
  }
}

Execute the following command to create the namespace:

kubectl apply -f create-gws-namespace.json

Confirm the namespace was created:

kubectl describe namespace gws

AKS

Log in to the AKS cluster from the host where you will run the deployment:
az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Create a new namespace for Genesys Web Services and Applications with a JSON file that specifies the namespace metadata. For example, create-gws-namespace.json:
{
  "apiVersion": "v1",
  "kind": "Namespace",
  "metadata": {
    "name": "gws",
    "labels": {
      "name": "gws"
    }
  }
}

Execute the following command to create the namespace:

kubectl apply -f create-gws-namespace.json

Confirm the namespace was created:

kubectl describe namespace gws

Deploy

To deploy GWS Services, you'll need the Helm package and your override files. Copy values.yaml, versions.yaml and the Helm package (gws-services-<version>.tgz) to the installation location. For debugging purposes, use the following command to render templates without installing so you can check that resources are created properly:

helm template --debug /gws-services-<version>.tgz -f values.yaml -f versions.yaml

The result shows Kubernetes descriptors. The values you see are generated from Helm templates, and based on settings from values.yaml and versions.yaml. Ensure that no errors are displayed; you will later apply this configuration to your Kubernetes cluster.

Now you're ready to deploy GWS Services:
Important
If you have configured TLS for connections to third-party services or legacy Genesys servers, make sure to point to your local files in the helm upgrade command.
helm upgrade --install gws-services <helm_directory>/gws-services --version=<version> -n gws -f ./override.gws-services.values.yaml -f ./versions.yaml

Validate the deployment

First check the installed Helm release:

helm list –n gws

The result should show the gws-services deployment details. For example:

NAME            NAMESPACE   REVISION    UPDATED                                     STATUS      CHART                   APP VERSION
gws-services    gws         1           2021-05-19  11:49:49.2243107 +0530 +0530    deployed    gws-services-1.0.18     1.0

Check the gws-services status:

helm status gws-services

The result should show the namespace details with a status of deployed:

NAME: gws-services
LAST DEPLOYED: Wed May 19 11:49:49 2021
NAMESPACE: gws
STATUS: deployed
REVISION: 1
TEST SUITE: None

Check the GWS Kubernetes objects created by Helm:

kubectl get all -n gws

The result should show all the created pods, services, ConfigMaps, and so on.

Finally, confirm Agent Setup is accessible by navigating to gws.<domain>/ui/provisioning in a web browser.

Next steps

Retrieved from "https://all.docs.genesys.com/GWS/Current/GWSPEGuide/Deploy (2025-06-20 16:48:43)"
Comments or questions about this documentation? Contact us for support!