Difference between revisions of "PEC-AD/Current/WWEPEGuide/Deploy"

From Genesys Documentation
Jump to: navigation, search
(Published)
 
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Article
+
{{ArticlePEServiceDeploy
|Standalone=No
+
|ServiceId=9cbd9a42-4bdc-4205-948a-8c130eb304a2
|DisplayName=Deploy Workspace Web Edition
+
|IncludeAssumptions=Yes
|TocName=Deploy WWE
 
|Context=Learn how to deploy Workspace Web Edition.
 
|ComingSoon=No
 
 
|Section={{Section
 
|Section={{Section
 
|alignment=Vertical
 
|alignment=Vertical
Line 10: Line 7:
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Deploy in OpenShift
+
|sectionHeading=Deploying in GKE
 +
|anchor=DeployGKE
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext====Login to OpenShift cluster===
+
|structuredtext====Prerequisites for GKE===
Use the following command to log in to OpenShift cluster from the host where you will run deployment:
+
====Secret configuration for pulling image====
 +
=====Connect to the cluster using Cloud SDK=====
 +
Use the following command to connect to the cluster from the deployment host:
 
<source lang="Emacs">
 
<source lang="Emacs">
oc login --token <token> --server <url of api server>
+
gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
 
</source>
 
</source>
===Select your WWE Project===
+
=====Create the secret for accessing the jfrog registry=====
Use the following command to select the default WWE project that was created as a prerequisite:
+
Use the following command to create the secret:
 
<source lang="Emacs">
 
<source lang="Emacs">
oc project wwe
+
kubectl create secret docker-registry mycred
 +
--docker-<container-registry>
 +
--docker-username=<username>
 +
--docker-password=<API key from jfrog>
 +
--docker-email=<emailid> -n wwe
 
</source>
 
</source>
===Render the templates===
+
===Environment Preparation for GKE===
To ensure that resources are created correctly, you can render the templates for debugging purposes without installing them. Use the following command to render the templates:
+
====Download the Helm charts====
 +
<ol>
 +
<li>{{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ManageServices|display text=Download}} the WWE Helm charts from following repository: https://pureengageuse1.jfrog.io/ui/login/
 +
</li>
 +
<li>Create the '''override_values.yaml''' with appropriate overrides from the following sample file for a sample deployment:
 +
 
 +
<source lang="Emacs">
 +
context:
 +
envs:
 +
optimizedConfig: false
 +
gwsUrl: 'https://<gws-external -url>'
 +
</source>
 +
</li>
 +
<li>Enable and set Ingress with the appropriate hostname.</li>
 +
<li>Set the value for '''gwsUrl''' applying the external gws url.</li>
 +
</ol>
 +
===WWE installation on GKE===
 +
====Log in to GKE cluster====
 +
Use the following command to connect to the GKE cluster using Cloud SDK from the deployment host:
 
<source lang="Emacs">
 
<source lang="Emacs">
helm template --debug -f values.yaml wwe-helm wwe-nginx/
+
gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
 
</source>
 
</source>
Kubernetes descriptors are displayed. The values are generated from Helm templates, based on settings from '''values.yaml''' and '''values-test.yaml'''. Ensure that no errors are displayed. This configuration will be applied to your Kubernetes cluster.
+
====Create Namespace for WWE====
 +
Use the following command to create a new namespace for WWE:
 +
<source lang="Emacs">
 +
kubectl create namespace wwe
 +
</source>
 +
====Render the templates====
 +
To verify whether resources are getting created without issue, execute the following command to render templates without installing:
 +
<source lang="Emacs">
 +
helm template --debug wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe
 +
</source>
 +
Review the displayed Kubernetes descriptors. The values are generated from Helm templates and are based on settings from the '''values.yaml''' and '''values-test.yaml''' files. Ensure that no errors are displayed. Later, you will apply this configuration to your Kubernetes cluster.
  
===Deploy WWE===
+
====Deploy WWE====
 
Use the following command to deploy WWE:
 
Use the following command to deploy WWE:
 
<source lang="Emacs">
 
<source lang="Emacs">
helm install --debug --namespace wwe --create-namespace -f values.yaml wwe-helm wwe-nginx
+
helm install wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe
 
</source>
 
</source>
 
This process takes several minutes. Wait until all objects are created and allocated, and the Kubernetes descriptors applied to the environment appear.
 
This process takes several minutes. Wait until all objects are created and allocated, and the Kubernetes descriptors applied to the environment appear.
  
===Check the deployment===
+
====Verify the installation====
 
Use the following command to check the installed Helm release:
 
Use the following command to check the installed Helm release:
 
<source lang="Emacs">
 
<source lang="Emacs">
 
helm list –all-namespaces
 
helm list –all-namespaces
 
</source>
 
</source>
Use the following command to check the status of the WWE project:
+
Use the following command to check the WWE objects created by Helm:
 
<source lang="Emacs">
 
<source lang="Emacs">
oc status
+
kubectl get all -n wwe
 
</source>
 
</source>
Use the following command to check the WWE OpenShift objects created by Helm:
+
Verify that you can now access WWE at the following URL:
<source lang="Emacs">
+
 
oc get all -n wwe
+
<nowiki>http://wwe.<host></nowiki>
 +
===Provisioning WWE Ingress on GKE===
 +
====Create or download the wwe-ingress.yaml file====
 +
Use the following example template to create the '''wwe-ingress.yaml''' Ingress file for WWE. In this example template, the namespace is set specifically to '''wwe'''. Adjust the values needed for your deployment.
 +
 
 +
<source lang="yaml">
 +
apiVersion: extensions/v1beta1
 +
kind: Ingress
 +
metadata:
 +
  name: wwe-ingress
 +
  namespace: wwe
 +
  annotations:
 +
    # add an annotation indicating the issuer to use.
 +
    cert-manager.io/cluster-issuer: "selfsigned-cluster-issuer"
 +
    # Custom annotations for NGINX Ingress Controller
 +
    kubernetes.io/ingress.class: "nginx"
 +
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
 +
    nginx.ingress.kubernetes.io/use-regex: "true"
 +
spec:
 +
  rules:
 +
  - host: wwe.test.dev
 +
    http:
 +
      paths:
 +
        - path: /.*
 +
          backend:
 +
            serviceName:  wwe-wwe-nginx
 +
            servicePort: 80
 +
  tls:
 +
  - hosts:
 +
    - wwe.test.dev
 +
    secretName: wwe-ingress-cert
 
</source>
 
</source>
===Expose the WWE service===
+
====Apply the yaml file to your namespace====
Make WWE accessible from outside the cluster, using the standard HTTP port. Use the following command to expose the WWE service:
+
Use the following command to apply the yaml file to your namespace:
<source lang="Emacs">
+
<source lang="EMACS">
oc create route edge --service=wwe-helm-wwe-nginx --hostname=<hostname>
+
kubectl apply -f wwe-ingress.yaml -n wwe
 
</source>
 
</source>
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Validate the deployment in OpenShift
+
|sectionHeading=Deploy in AKS
 +
|anchor=DeployAKS
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=Use the following command to verify that the new route is created in the WWE project:
+
|structuredtext====Prerequisites===
 +
====Secret configuration for pulling image====
 +
Use the following commands to create the Secret for accessing the jfrog registry and map the secret to the default account:
 +
 
 +
<source lang="Emacs">
 +
kubectl create secret docker-registry mycred --docker-server=pureengageuse1-docker-multicloud.jfrog.io --docker-username=<camelot-username> --docker-password=<API key from jfrog> --docker-email=<emailid>
 +
</source>
 +
 
 +
====Install the azure-cli based in you OS environment====
 +
Follow the instructions found in the following website to install the Azure CLI:
 +
 
 +
<nowiki>https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest</nowiki>
 +
 
 +
===Login to AKS cluster===
 
<source lang="Emacs">
 
<source lang="Emacs">
oc get route -n wwe
+
$ az login
 
</source>
 
</source>
  
The result should show details similar to the following:
+
===Connect to cluster===
 +
Use the following command to log in to the cluster from the deployment host:<source lang="Emacs">
 +
$ az aks get-credentials --resource-group <RESOURCE GROUP NAME> --name <AKS Cluster Name>
 +
</source>
 +
 
 +
===Environment preparation===
 +
 
 +
====Create Namespace for WWE====
 +
Use the following command to create a new namespace for WWE:
  
 
<source lang="Emacs">
 
<source lang="Emacs">
NAME  HOST/PORT                        PATH  SERVICES            PORT  TERMINATION  WILDCARD
+
$ kubectl create namespace wwe
wwe   wwe.apps.vce-c0.eps.genesys.com          wwe-helm-wwe-nginx  http  edge/Allow    None
 
 
</source>
 
</source>
  
where &lt;host&gt; is the host name generated by OpenShift.
+
====Download the Helm charts====
 +
{{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ManageServices|display text=Download}} the WWE Helm charts from following repository: https://pureengageuse1.jfrog.io/ui/login/
 +
 
 +
====Create the override file====
 +
Create the '''override_values.yaml''' file using the appropriate overrides based on the following sample:
 +
 
 +
<source lang="Emacs">
 +
context:
 +
          envs:
 +
          optimizedConfig: false
 +
          gwsUrl: 'https://<gws-external -url>'
 +
</source>'''Note''': Enable '''ingress''' and set it with an appropriate hostname. The value for '''gwsUrl''' must be set with the external gws url.
 +
 
 +
===WWE Installation===
 +
 
 +
====Render the templates====
 +
To verify whether resources are getting created without issue, execute the following command to render templates without installing:
 +
 
 +
<source lang="Emacs">
 +
$ helm template --debug wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe
 +
</source>
 +
 
 +
Review the displayed Kubernetes descriptors. The values are generated from Helm templates and are based on settings from the '''values.yaml''' and '''values-test.yaml''' files. Ensure that no errors are displayed. Later, you will apply this configuration to your Kubernetes cluster.
 +
 
 +
====Deploy WWE====
 +
Use the following command to deploy WWE:
 +
<source lang="Emacs">
 +
$ helm install wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe
 +
</source>
 +
 
 +
This process takes several minutes. Wait until all objects are created and allocated, and the Kubernetes descriptors applied to the environment appear.
 +
 
 +
====Verify the installation====
 +
Use the following command to check the installed Helm release:
 +
<source lang="Emacs">
 +
$ helm list –all-namespaces
 +
</source>
 +
 
 +
Use the following command to check the WWE objects created by Helm:
 +
 
 +
<source lang="Emacs">
 +
$ kubectl get all -n wwe
 +
</source>
 +
 
 +
Execute the following helm status command:
 +
<source lang="Emacs">
 +
$ kubectl status wwe -n wwe
 +
 
 +
LAST DEPLOYED: Mon Jun 20 10:21:25 2022
 +
 
 +
NAMESPACE: wwe
 +
 
 +
STATUS: deployed
 +
 
 +
REVISION: 2
 +
 
 +
TEST SUITE: None
 +
</source>
  
Verify that you can access WWE at the following URL:
+
Verify that you can now access wwe at the following URL:
  
 
<nowiki>http://wwe.<host></nowiki>
 
<nowiki>http://wwe.<host></nowiki>

Latest revision as of 08:01, March 28, 2023

This topic is part of the manual Workspace Web Edition Private Edition Guide for version Current of Agent Workspace.

Learn how to deploy Workspace Web Edition (WWE) 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 Workspace Web Edition.

Deploying in GKE

Prerequisites for GKE

Secret configuration for pulling image

Connect to the cluster using Cloud SDK

Use the following command to connect to the cluster from the deployment host:

gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
Create the secret for accessing the jfrog registry

Use the following command to create the secret:

kubectl create secret docker-registry mycred
--docker-<container-registry>
--docker-username=<username>
--docker-password=<API key from jfrog>
--docker-email=<emailid> -n wwe

Environment Preparation for GKE

Download the Helm charts

  1. Download the WWE Helm charts from following repository: https://pureengageuse1.jfrog.io/ui/login/
  2. Create the override_values.yaml with appropriate overrides from the following sample file for a sample deployment:
    context:
    envs:
    optimizedConfig: false
    gwsUrl: 'https://<gws-external -url>'
  3. Enable and set Ingress with the appropriate hostname.
  4. Set the value for gwsUrl applying the external gws url.

WWE installation on GKE

Log in to GKE cluster

Use the following command to connect to the GKE cluster using Cloud SDK from the deployment host:

gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>

Create Namespace for WWE

Use the following command to create a new namespace for WWE:

kubectl create namespace wwe

Render the templates

To verify whether resources are getting created without issue, execute the following command to render templates without installing:

helm template --debug wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe

Review the displayed Kubernetes descriptors. The values are generated from Helm templates and are based on settings from the values.yaml and values-test.yaml files. Ensure that no errors are displayed. Later, you will apply this configuration to your Kubernetes cluster.

Deploy WWE

Use the following command to deploy WWE:

helm install wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe

This process takes several minutes. Wait until all objects are created and allocated, and the Kubernetes descriptors applied to the environment appear.

Verify the installation

Use the following command to check the installed Helm release:

helm list –all-namespaces

Use the following command to check the WWE objects created by Helm:

kubectl get all -n wwe

Verify that you can now access WWE at the following URL:

http://wwe.<host>

Provisioning WWE Ingress on GKE

Create or download the wwe-ingress.yaml file

Use the following example template to create the wwe-ingress.yaml Ingress file for WWE. In this example template, the namespace is set specifically to wwe. Adjust the values needed for your deployment.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: wwe-ingress
  namespace: wwe
  annotations:
    # add an annotation indicating the issuer to use.
    cert-manager.io/cluster-issuer: "selfsigned-cluster-issuer"
    # Custom annotations for NGINX Ingress Controller
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
spec:
  rules:
  - host: wwe.test.dev
    http:
      paths:
        - path: /.*
          backend:
            serviceName:  wwe-wwe-nginx
            servicePort: 80
  tls:
  - hosts:
    - wwe.test.dev
    secretName: wwe-ingress-cert

Apply the yaml file to your namespace

Use the following command to apply the yaml file to your namespace:

kubectl apply -f wwe-ingress.yaml -n wwe

Deploy in AKS

Prerequisites

Secret configuration for pulling image

Use the following commands to create the Secret for accessing the jfrog registry and map the secret to the default account:

kubectl create secret docker-registry mycred --docker-server=pureengageuse1-docker-multicloud.jfrog.io --docker-username=<camelot-username> --docker-password=<API key from jfrog> --docker-email=<emailid>

Install the azure-cli based in you OS environment

Follow the instructions found in the following website to install the Azure CLI:

https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest

Login to AKS cluster

$ az login

Connect to cluster

Use the following command to log in to the cluster from the deployment host:
$ az aks get-credentials --resource-group <RESOURCE GROUP NAME> --name <AKS Cluster Name>

Environment preparation

Create Namespace for WWE

Use the following command to create a new namespace for WWE:

$ kubectl create namespace wwe

Download the Helm charts

Download the WWE Helm charts from following repository: https://pureengageuse1.jfrog.io/ui/login/

Create the override file

Create the override_values.yaml file using the appropriate overrides based on the following sample:

context:
          envs:
          optimizedConfig: false
          gwsUrl: 'https://<gws-external -url>'
Note: Enable ingress and set it with an appropriate hostname. The value for gwsUrl must be set with the external gws url.

WWE Installation

Render the templates

To verify whether resources are getting created without issue, execute the following command to render templates without installing:

$ helm template --debug wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe

Review the displayed Kubernetes descriptors. The values are generated from Helm templates and are based on settings from the values.yaml and values-test.yaml files. Ensure that no errors are displayed. Later, you will apply this configuration to your Kubernetes cluster.

Deploy WWE

Use the following command to deploy WWE:

$ helm install wwe ./wwe-nginx-9.0.5.tgz -f override_values.yaml -n wwe

This process takes several minutes. Wait until all objects are created and allocated, and the Kubernetes descriptors applied to the environment appear.

Verify the installation

Use the following command to check the installed Helm release:

$ helm list –all-namespaces

Use the following command to check the WWE objects created by Helm:

$ kubectl get all -n wwe

Execute the following helm status command:

$ kubectl status wwe -n wwe

LAST DEPLOYED: Mon Jun 20 10:21:25 2022

NAMESPACE: wwe

STATUS: deployed

REVISION: 2

TEST SUITE: None

Verify that you can now access wwe at the following URL:

http://wwe.<host>

Retrieved from "https://all.docs.genesys.com/PEC-AD/Current/WWEPEGuide/Deploy (2025-07-20 17:06:38)"
Comments or questions about this documentation? Contact us for support!