Deploying with bash scripts
The following Kubernetes distributions are supported:
- Openshift (Fully Supported)
- GKE (Partially Supported)
- AWS EKS (TBD)
- Pure Kubernetes (TBD)
Requirements
-
Kubectl and
Helm client utilities
- Tiller is not required.
- The scripts reside in the gws-microservices hg repository.
Deploying GWS with OpenShift Platform
- copy your configuration to ~/.kube/config and try "kubectl get nodes" and see the cluster nodes list.
- $ cd gws-microservices/production/premise/kubernetes
- Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
- $ . env-examples/<YOUR ENVIRONMENT SOURCE FILE>
- Import GWS-applications docker images to your container registry or add the GWS registries' keys to /etc/docker.d
- Internal Kubernetes clusters, deployed on Genesys premise: Get the registries' keys and add them to /etc/docker.d on all hosts, then restart docker.
Deploying GWS with GKEe
- follow the registration web-UI steps and try "gcloud container clusters list"
- $ cd gws-microservices/production/premise/kubernetes
- Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
- $ . env-examples/<YOUR ENVIRONMENT SOURCE FILE>
- Import GWS-applications docker images to your container registry or add the GWS registries' keys to /etc/docker.d
- Get the GWS-microservices docker images tarball via any Genesys supply channel and import it to Google Container Registry as follows: "TARBALL=/full/path/to/GWS/apps/tarball push-containers-to-gke.sh"
Working with Prometheus and Grafana
Important
These services are deployed clusterwide and do not depend on GWS-applications' loads. $ ./monitoring-deploy.sh delete $ ./monitoring-deploy.sh
Working with GWS Infrastructure
$ ./gws-infra-deploy.sh delete $ ./gws-infra-deploy.sh
Working with GWS Application Stack
$ ./gws-app-deploy.sh delete $ ./gws-app-deploy.sh
Pulling Current GWS Applications Container
- $ STACK_DOCKER_IMAGE_PATH=gws-registry-usw1.genhtcc.com ./pull-containers.sh
DNS Requirements
All of the services, either cluster-wide, infrastructure or GWS-applications ingresses require DNS names to be pre-populated to get access to and for host-based naming virtualization.
- Openshift
- GKE
XX.XX.XX.XX grafana.gke.local XX.XX.XX.XX consul.gke.local XX.XX.XX.XX active.gke.local XX.XX.XX.XX test.gke.local
Persistent Storage Requirements
- Openshift : the GlusterFS storage can be pre-populated manually.
- GKE : No specific configuration is required.
- No storage : Set the PERSISTENT_STORAGE=false in the environment file.
Comments or questions about this documentation? Contact us for support!