Deploy GWS Ingress
Contents
Learn how to deploy GWS Ingress.
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