Jump to: navigation, search
(Created page with "= Deploying with bash scripts = The following Kubernetes distributions are supported: * Openshift (Fully Supported) * GKE (Partially Supported) * AWS EKS (TBD) * Pure Kuberne...")
 
Line 8: Line 8:
  
 
== 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 GKE deployments, install and configure the ''{{#Widget:ExtLink|link=https://cloud.google.com/sdk/docs/#linux
 +
|displaytext=gloud}}'' utility/
 +
# The scripts reside in the ''gws-microservices'' hg repository.
 +
#  Get your credentials and try using the utilities you've installed. We assume that your credentials are valid and they work without any errors.
 +
## For non-GKE platforms: copy your configuration to ~/.kube/config and try "kubectl get nodes" and see the cluster nodes list.
 +
## For GKE: follow the registration web-UI steps and try "gcloud container clusters list" and see all GKE clusters you have if any.
 +
# $ cd gws-microservices/infrastructure/kubernetes/gws-deployment # The "helm" directory actually contains all helm-charts we are using.
 +
#$ ls ../gws-settings # This will show you the environment files needed to source to operate a particular cluster with a particular environment.
 +
# $ . ../gws-settings/<YOUR ENVIRONMENT SOURCE FILE> # After you source the cluster/env variables, you'll see all available commands. To create your own environment file you can use the others as templates.
 +
#  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.
 +
## GKE. 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 ===
 +
{{NoteFormat|These services are deployed clusterwide and do not depend on GWS-applications' loads. }}
 +
<pre>
 +
$ ./monitoring-deploy.sh delete
 +
$ ./monitoring-deploy.sh
 +
</pre>
 +
 
 +
=== Working with GWS Infrastructure===
 +
<pre>
 +
$ ./gws-infra-deploy.sh delete
 +
$ ./gws-infra-deploy.sh
 +
</pre>
 +
 
 +
=== Working with GWS Application Stack===
 +
<pre>
 +
$ ./gws-app-deploy.sh delete
 +
$ ./gws-app-deploy.sh
 +
</pre>
 +
 
 +
=== Pulling Current GWS Applications Container ===
 +
 
 +
<pre>
 +
- $ STACK_DOCKER_IMAGE_PATH=gws-registry-usw1.genhtcc.com ./pull-containers.sh
 +
</pre>
 +
 
 +
=== 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.
 +
* Openshit
 +
* GKE
 +
 
  
  
 
[[Category:V:HTCC:9.0.0DRAFT]]
 
[[Category:V:HTCC:9.0.0DRAFT]]

Revision as of 04:49, November 7, 2018

Deploying with bash scripts

The following Kubernetes distributions are supported:

  • Openshift (Fully Supported)
  • GKE (Partially Supported)
  • AWS EKS (TBD)
  • Pure Kubernetes (TBD)

Requirements

  1. Kubectl and Helm client utilities
    • Tiller is not required.
    1. For Openshift deployments, install the oc utility.
    2. For GKE deployments, install and configure the gloud utility/
  2. The scripts reside in the gws-microservices hg repository.
  3. Get your credentials and try using the utilities you've installed. We assume that your credentials are valid and they work without any errors.
    1. For non-GKE platforms: copy your configuration to ~/.kube/config and try "kubectl get nodes" and see the cluster nodes list.
    2. For GKE: follow the registration web-UI steps and try "gcloud container clusters list" and see all GKE clusters you have if any.
  4. $ cd gws-microservices/infrastructure/kubernetes/gws-deployment # The "helm" directory actually contains all helm-charts we are using.
  5. $ ls ../gws-settings # This will show you the environment files needed to source to operate a particular cluster with a particular environment.
  6. $ . ../gws-settings/<YOUR ENVIRONMENT SOURCE FILE> # After you source the cluster/env variables, you'll see all available commands. To create your own environment file you can use the others as templates.
  7. Import GWS-applications docker images to your container registry or add the GWS registries' keys to /etc/docker.d
    1. Internal Kubernetes clusters, deployed on Genesys premise: Get the registries' keys and add them to /etc/docker.d on all hosts, then restart docker.
    2. GKE. 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.

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