Deploy GWS Ingress

From Genesys Documentation
Revision as of 15:32, June 30, 2021 by Monique.gionet@genesys.com (talk | contribs) (Published)
Jump to: navigation, search

Note to reviewers: Any addition info from GAPI-28154 (All required properties for ingress need to be documented)? Also, should we say what is GWS Ingress and what it is used/needed for?

Prerequisites

GWS project must be created and 'gws-services' must be installed.

Installation Steps

  • Use project gws
oc project gws
  • Credential mapping to default service account
oc adm policy add-scc-to-user genesys-restricted -z default-restricted -n gws
  • Download the gws-ingress helm charts from following repo
https://pureengage.jfrog.io/ui/packages/helm:%2F%2Fgws-ingress?name=gws&type=packages
  • Create Secret for consul token
oc create secret generic gws-secrets-green -n gws --from-literal='gws-consul-token=<token-from-consul>'
  • Copy the values.yaml file from the gws-ingress folder and update the value for Host parameters:
REGISTRY: pureengage-docker-staging.jfrog.io/gws
entryPoints:
  internal:
    service:
      type: LoadBalancer
      annotations: {}
    ingress:
      path: /
      annotations: {}
      tlsEnable: false
      secretName: gws-secret-int
      hostName: gws01-int.yourclusterdomain.com   -------------------------------- http internal end point for accessing GWS APIs
  internalTest:
    service:
      type: LoadBalancer
      annotations: {}
    ingress:
      path: /
      annotations: {}
      tlsEnable: false
      secretName: gws-secret-int
      hostName: gws01-test.yourclusterdomain.com   -------------------------------- http test end point for accessing GWS APIs
      
  external:
    service:
      type: ClusterIP
      annotations: {}
        #service.beta.kubernetes.io/aws-load-balancer-internal: "true"
        #service.beta.kubernetes.io/aws-load-balancer-type: nlb
    ingress:
      path: /
      annotations: {}
      tlsEnable: false
      secretName: gws-secret-ext
      hostName: gws01.yourclusterdomain.com              -------------------------------- http end point for accessing GWS APIs
      hostNameTemp: gws-temp.yourclusterdomain.com       -------------------------------- http test end point for accessing GWS

  externalTest:
    service:
      type: ClusterIP
      annotations: {}
        #service.beta.kubernetes.io/aws-load-balancer-internal: "true"
        #service.beta.kubernetes.io/aws-load-balancer-type: nlb
    ingress:
      path: /
      annotations: {}
        #appgw.ingress.kubernetes.io/connection-draining: "true"
        #appgw.ingress.kubernetes.io/connection-draining-timeout: "30"
        #appgw.ingress.kubernetes.io/cookie-based-affinity: "true"
        #appgw.ingress.kubernetes.io/ssl-redirect: "false"
        #cert-manager.io/cluster-issuer: letsencrypt-prod
        #ingress.kubernetes.io/ssl-redirect: "false"
        #kubernetes.io/ingress.class: azure/application-gateway
      tlsEnable: false
      secretName: gws-secret-ext
      hostName: gws.apps.yourclusterdomain.com  -------------------------------- http end point for accessing GWS

Version Details:
gws-system-nginx: 9.0.000.14

Copy the above file and the gws-ingress helm package to the installation location.

  • Install gws-ingress
helm install gws-ingress ./gws-ingress-0.2.7.tgz -f values.yaml

Test Installation

To check the ingress installation, run the following commands:

  • Check the pod
oc get pod

It should return gws-service-proxy and the status should be running. Example:

gws-service-proxy-d5997957f-m4kcg 1/1 Running 0 4d13h
  • Check the service

oc get svc The result should display the service name. Example:

y ClusterIP 10.202.55.20 <none> 80/TCP,81/TCP,85/TCP,86/TCP 4d13h

Create HTTPS Routes

Run the following command to create https routes to access externally:

The recommended Hostname format is gws.<cluster-subdomain>. For example, VCE cluster (https://console-openshift-console.yourclusterdomain.com/), the host name should be gws.yourclusterdomain.com

oc create route edge --service=gws-service-proxy --hostname=<hostname>

Test Routes

Access the following URL in a browser. It should navigate you to the login page.

https://<hostname>/ui/wwe/index.html

Comments or questions about this documentation? Contact us for support!