Jump to: navigation, search
(Deploying with bash scripts)
Line 2: Line 2:
  
 
The following Kubernetes distributions are supported:
 
The following Kubernetes distributions are supported:
* Openshift (Fully Supported)
+
* OpenShift (Fully Supported)
* GKE (Partially Supported)
+
* Google Kubernetes Engine (Partially Supported)
* AWS EKS (TBD)
 
* Pure Kubernetes (TBD)
 
  
 
== Requirements ==
 
== Requirements ==
 
# {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/tools/install-kubectl/|displaytext=Kubectl}} and {{#Widget:ExtLink|link=https://docs.helm.sh/using_helm/#installing-helm|displaytext=Helm}} client utilities
 
# {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/tools/install-kubectl/|displaytext=Kubectl}} and {{#Widget:ExtLink|link=https://docs.helm.sh/using_helm/#installing-helm|displaytext=Helm}} client utilities
 
#* Tiller is not required.
 
#* Tiller is not required.
## For Openshift deployments, install the ''{{#Widget:ExtLink|link=https://docs.helm.sh/using_helm/#installing-helm|displaytext=oc}}'' utility.
+
## For OpenShift deployments, install the ''{{#Widget:ExtLink|link=https://docs.helm.sh/using_helm/#installing-helm|displaytext=oc}}'' utility.
## For GKE deployments, install and configure the ''{{#Widget:ExtLink|link=https://cloud.google.com/sdk/docs/#linux
+
## For Google Kubernetes Engine deployments, install and configure the ''{{#Widget:ExtLink|link=https://cloud.google.com/sdk/docs/#linux
 
|displaytext=gloud}}'' utility/
 
|displaytext=gloud}}'' utility/
# The scripts reside in the ''gws-microservices'' hg repository.  
+
# The scripts reside in the '''gws-microservices''' hg repository.  
  
 
<div class="cloud-tabberlive-wrapper">
 
<div class="cloud-tabberlive-wrapper">
Line 23: Line 21:
 
<div class="cloud-left">
 
<div class="cloud-left">
  
* copy your configuration to ~/.kube/config and try "kubectl get nodes" and see the cluster nodes list.
+
* Copy your configuration to '''~/.kube/config'''.
* <tt>$ cd gws-microservices/production/premise/kubernetes</tt>
+
* Type  <tt>kubectl get nodes</tt> to list the nodes in your cluster.
- Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
+
* Type <tt>cd gws-microservices/production/premise/kubernetes</tt> to go to the '''kubernetes''' directory.
* <tt>$ . env-examples/<YOUR ENVIRONMENT SOURCE FILE></tt>
+
* Create your own environment configuration file and put it to '''env-examples''' directory. Or use the ones available.
* Import GWS-applications docker images to your container registry or add the GWS registries' keys to /etc/docker.d
+
** Type <tt>. env-examples/<YOUR ENVIRONMENT SOURCE FILE></tt> to source the cluster environment variables.
** Internal Kubernetes clusters, deployed on Genesys premise: Get the registries' keys and add them to /etc/docker.d on all hosts, then restart docker.
+
* Import GWS-applications docker images to your container registry or add the GWS registry keys to '''/etc/docker.d'''.
 +
** Get the registry keys and add them to '''/etc/docker.d''' on all hosts.
 +
* Restart docker.
 
</div>
 
</div>
 
</div>
 
</div>
Line 35: Line 35:
 
GKE=
 
GKE=
 
<div class="cloud-wrapper">
 
<div class="cloud-wrapper">
<h2>Deploying GWS with GKEe</h2>
+
<h2>Deploying GWS with Google Kubernetes Engine</h2>
 
<div class="cloud-left">
 
<div class="cloud-left">
- follow the registration web-UI steps and try "gcloud container clusters list"
+
* Follow the registration web-UI steps.
* <tt>$ cd gws-microservices/production/premise/kubernetes</tt>
+
Type <tt>gcloud container clusters list</tt> to list existing clusters for running containers.
 +
* Type <tt>cd gws-microservices/production/premise/kubernetes</tt> to go to the '''kubernetes''' directory.
 
* Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
 
* Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
* <tt>$ . env-examples/<YOUR ENVIRONMENT SOURCE FILE></tt>
+
* Type  <tt>. env-examples/<YOUR ENVIRONMENT SOURCE FILE></tt> to source the cluster environment variables.
*   Import GWS-applications docker images to your container registry or add the GWS registries' keys to /etc/docker.d
+
* Import GWS-applications docker images to your container registry or add the GWS registry 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"
+
** Get the GWS-microservices docker images tarball via any Genesys supply channel and import it to Google Container Registry:
 +
<tt>"TARBALL=/full/path/to/GWS/apps/tarball push-containers-to-gke.sh"</tt>
  
 
</div>
 
</div>

Revision as of 07:33, November 21, 2018

Deploying with bash scripts

The following Kubernetes distributions are supported:

  • OpenShift (Fully Supported)
  • Google Kubernetes Engine (Partially Supported)

Requirements

  1. Kubectl and Helm client utilities
    • Tiller is not required.
    1. For OpenShift deployments, install the oc utility.
    2. For Google Kubernetes Engine deployments, install and configure the gloud utility/
  2. The scripts reside in the gws-microservices hg repository.

Deploying GWS with OpenShift Platform

  • Copy your configuration to ~/.kube/config.
  • Type kubectl get nodes to list the nodes in your cluster.
  • Type cd gws-microservices/production/premise/kubernetes to go to the kubernetes directory.
  • Create your own environment configuration file and put it to env-examples directory. Or use the ones available.
    • Type . env-examples/<YOUR ENVIRONMENT SOURCE FILE> to source the cluster environment variables.
  • Import GWS-applications docker images to your container registry or add the GWS registry keys to /etc/docker.d.
    • Get the registry keys and add them to /etc/docker.d on all hosts.
  • Restart docker.

Deploying GWS with Google Kubernetes Engine

  • Follow the registration web-UI steps.

Type gcloud container clusters list to list existing clusters for running containers.

  • Type cd gws-microservices/production/premise/kubernetes to go to the kubernetes directory.
  • Create your own environment configuration file and put it to "env-examples" directory. Or use the ones available.
  • Type . env-examples/<YOUR ENVIRONMENT SOURCE FILE> to source the cluster environment variables.
  • Import GWS-applications docker images to your container registry or add the GWS registry keys to /etc/docker.d.
    • Get the GWS-microservices docker images tarball via any Genesys supply channel and import it to Google Container Registry:

"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.

    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!