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

From Genesys Documentation
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Prerequisites for GKE
+
|sectionHeading=Deploying in GKE
|anchor=PrerequisiteGKE
+
|anchor=DeployGKE
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext====Secret configuration for pulling image===
+
|structuredtext====Prerequisites for GKE===
===Log in to the cluster===
+
====Secret configuration for pulling image====
Use the following command to log in to the cluster from the deployment host:
+
=====Connect to the cluster using Cloud SDK=====
<source lang="Emacs">
 
kubectl login --token <token> --server <url of api server>
 
</source>
 
===Connect to the cluster using Cloud SDK===
 
 
Use the following command to connect to the cluster from the deployment host:
 
Use the following command to connect to the cluster from the deployment host:
 
<source lang="Emacs">
 
<source lang="Emacs">
 
gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
 
gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
 
</source>
 
</source>
===Create the secret for accessing the jfrog registry===
+
=====Create the secret for accessing the jfrog registry=====
 
Use the following command to create the secret:
 
Use the following command to create the secret:
 
<source lang="Emacs">
 
<source lang="Emacs">
 
kubectl create secret docker-registry mycred
 
kubectl create secret docker-registry mycred
--docker-server=pureengage-docker-staging.jfrog.io
+
--docker-<container-registry>
--docker-username=<camelot-username>
+
--docker-username=<username>
 
--docker-password=<API key from jfrog>
 
--docker-password=<API key from jfrog>
 
--docker-email=<emailid> -n wwe
 
--docker-email=<emailid> -n wwe
 
</source>
 
</source>
|Status=No
+
===Environment Preparation for GKE===
}}{{Section
+
====Download the Helm charts====
|sectionHeading=Environment Preparation for GKE
 
|anchor=EnviPrepGKE
 
|alignment=Vertical
 
|structuredtext====Download the Helm charts===
 
 
<ol>
 
<ol>
<li>Download the WWE Helm charts from following repository:
+
<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/
 
 
<nowiki>
 
https://pureengage.jfrog.io/ui/repos/tree/General/helm-staging%2Fwwe
 
</nowiki>
 
 
</li>
 
</li>
 
<li>Create the '''override_values.yaml''' with appropriate overrides from the following sample file for a sample deployment:
 
<li>Create the '''override_values.yaml''' with appropriate overrides from the following sample file for a sample deployment:
Line 55: Line 43:
 
<li>Set the value for '''gwsUrl''' applying the external gws url.</li>
 
<li>Set the value for '''gwsUrl''' applying the external gws url.</li>
 
</ol>
 
</ol>
|Status=No
+
===WWE installation on GKE===
}}{{Section
+
====Log in to GKE cluster====
|sectionHeading=WWE installation on GKE
 
|anchor=InstallGKE
 
|alignment=Vertical
 
|structuredtext====Log in to GKE cluster===
 
 
Use the following command to connect to the GKE cluster using Cloud SDK from the deployment host:
 
Use the following command to connect to the GKE cluster using Cloud SDK from the deployment host:
 
<source lang="Emacs">
 
<source lang="Emacs">
 
gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
 
gcloud container clusters get-credentials <gke  cluster> --zone <gke zone> --project <gcp project>
 
</source>
 
</source>
===Create Namespace for WWE===
+
====Create Namespace for WWE====
 
Use the following command to create a new namespace for WWE:
 
Use the following command to create a new namespace for WWE:
 
<source lang="Emacs">
 
<source lang="Emacs">
 
kubectl create namespace wwe
 
kubectl create namespace wwe
 
</source>
 
</source>
===Render the templates===
+
====Render the templates====
 
To verify whether resources are getting created without issue, execute the following command to render templates without installing:
 
To verify whether resources are getting created without issue, execute the following command to render templates without installing:
 
<source lang="Emacs">
 
<source lang="Emacs">
Line 77: Line 61:
 
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.
 
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">
Line 84: Line 68:
 
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.
  
===Verify the installation===
+
====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">
Line 96: Line 80:
  
 
<nowiki>http://wwe.<host></nowiki>
 
<nowiki>http://wwe.<host></nowiki>
|Status=No
+
===Provisioning WWE Ingress on GKE===
}}{{Section
+
====Create or download the wwe-ingress.yaml file====
|sectionHeading=Provisioning WWE Ingress on GKE
 
|anchor=IngressGKE
 
|alignment=Vertical
 
|structuredtext====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.
 
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.
  
Line 131: Line 111:
 
     secretName: wwe-ingress-cert
 
     secretName: wwe-ingress-cert
 
</source>
 
</source>
===Apply the yaml file to your namespace===
+
====Apply the yaml file to your namespace====
 
Use the following command to apply the yaml file to your namespace:
 
Use the following command to apply the yaml file to your namespace:
 
<source lang="EMACS">
 
<source lang="EMACS">
Line 138: Line 118:
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Deploy in Kubernetes on OpenShift
+
|sectionHeading=Deploy in AKS
|anchor=DeployOpenShift
+
|anchor=DeployAKS
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext====Log in to the cluster===
+
|structuredtext====Prerequisites===
Use the following command to log in to the cluster from the deployment host :
+
====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">
 
<source lang="Emacs">
kubectl login --token <token> --server <url of api server>
+
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>
 
</source>
===Select your WWE Project===
+
 
Use the following command to select the default WWE project that was created as a prerequisite:
+
====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">
kubectl project wwe
+
$ az login
 +
</source>
 +
 
 +
===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>
 
</source>
===Render the templates===
+
 
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:
+
===Environment preparation===
 +
 
 +
====Create Namespace for WWE====
 +
Use the following command to create a new namespace for WWE:
 +
 
 +
<source lang="Emacs">
 +
$ kubectl create namespace wwe
 +
</source>
 +
 
 +
====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">
 
<source lang="Emacs">
helm template --debug -f values.yaml wwe-helm wwe-nginx/
+
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>
 
</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 is applied to your Kubernetes cluster.
 
  
===Deploy 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:
 
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>
 
Use the following command to check the status of the WWE project:
 
<source lang="Emacs">
 
kubectl status
 
 
</source>
 
</source>
 +
 
Use the following command to check the WWE objects created by Helm:
 
Use the following command to check the WWE objects created by Helm:
 +
 
<source lang="Emacs">
 
<source lang="Emacs">
kubectl get all -n wwe
+
$ kubectl get all -n wwe
 
</source>
 
</source>
===Expose the WWE service===
+
 
Make WWE accessible from outside the cluster, using the standard HTTP port. Use the following command to expose the WWE service on OpenShift:
+
Execute the following helm status command:
 
<source lang="Emacs">
 
<source lang="Emacs">
oc create route edge --service=wwe-helm-wwe-nginx --hostname=<hostname>
+
$ kubectl status wwe -n wwe
</source>
+
 
|Status=No
+
LAST DEPLOYED: Mon Jun 20 10:21:25 2022
}}{{Section
+
 
|sectionHeading=Validate the deployment on OpenShift
+
NAMESPACE: wwe
|alignment=Vertical
+
 
|structuredtext=Use the following command to verify that the new route is created in the WWE project on OpenShift:
+
STATUS: deployed
<source lang="Emacs">
 
oc get route -n wwe
 
</source>
 
  
The result should show details similar to the following:
+
REVISION: 2
  
<source lang="Emacs">
+
TEST SUITE: None
NAME  HOST/PORT                        PATH  SERVICES            PORT  TERMINATION  WILDCARD
 
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 Kubernetes.
+
Verify that you can now access wwe at the following URL:
 
 
Verify that you can 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:08:21)"
Comments or questions about this documentation? Contact us for support!