Difference between revisions of "PEC-REP/Current/GIMPEGuide/DeployGIM"
Line 12: | Line 12: | ||
|structuredtext=To prepare your environment for the deployment, complete the steps in this section for: | |structuredtext=To prepare your environment for the deployment, complete the steps in this section for: | ||
− | *[[{{FULLPAGENAME}}# | + | *[[{{FULLPAGENAME}}#GIM_Env_OpenShift|OpenShift]] |
− | *[[{{FULLPAGENAME}}# | + | *[[{{FULLPAGENAME}}#GIM_Env_GKE|GKE]] |
+ | *[[{{FULLPAGENAME}}#GIM_Env_AKS|AKS]] | ||
− | {{AnchorDiv| | + | {{AnchorDiv|GIM_Env_OpenShift}} |
− | === | + | ===OpenShift environment setup=== |
− | # | + | #Using the CLI, log in to the OpenShift cluster on the host where you will run the deployment: |
#:<source lang="text">oc login --token <token> --server <URL of the API server></source> | #:<source lang="text">oc login --token <token> --server <URL of the API server></source> | ||
#(Optional) Check the cluster version: | #(Optional) Check the cluster version: | ||
#:<source lang="text">oc get clusterversion</source> | #:<source lang="text">oc get clusterversion</source> | ||
− | #If the cluster administrator has not already done so, create a new project for GIM: | + | #If the cluster administrator has not already done so, create a new project <code>gim</code> for GIM: |
#:<source lang="text">oc new-project gim</source> | #:<source lang="text">oc new-project gim</source> | ||
− | #Set the default project to | + | #Set the default project to <code>gim</code>: |
#:<source lang="text">oc project gim</source> | #:<source lang="text">oc project gim</source> | ||
− | #Create | + | #Create the pull secret for the Genesys JFrog image registry. |
+ | #*The JFrog image registry is represented as <code>docker-registry</code> in the system. | ||
+ | #*Here, you define the credentials Kubernetes uses to pull images and Helm charts from the repository. | ||
+ | #*When you configure Genesys Info Mart, you will reference the pull secret for the registry as a Helm chart override. | ||
#:<source lang="text">oc create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim</source> | #:<source lang="text">oc create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim</source> | ||
− | {{AnchorDiv| | + | {{AnchorDiv|GIM_Env_GKE}} |
− | === | + | ===GKE environment setup=== |
#Ensure that the gcloud CLI and required Helm version are installed on the host where you will run the deployment. | #Ensure that the gcloud CLI and required Helm version are installed on the host where you will run the deployment. | ||
− | # | + | #Using the CLI, log in to the GKE cluster from the host where you will run the deployment: |
#:<source lang="text">gcloud container clusters get-credentials <cluster></source> | #:<source lang="text">gcloud container clusters get-credentials <cluster></source> | ||
− | #If the cluster administrator has not already done so, create a new namespace for GIM: | + | #If the cluster administrator has not already done so, create a new namespace <code>gim</code> for GIM: |
− | # | + | #*Create a JSON file specifying the namespace metadata. For example, '''create-gim-namespace.json''': |
− | + | #:<source lang="bash">{ | |
"apiVersion": "v1", | "apiVersion": "v1", | ||
"kind": "Namespace", | "kind": "Namespace", | ||
Line 47: | Line 51: | ||
} | } | ||
}</source> | }</source> | ||
− | # | + | #*Execute the following command to create the <code>gim</code> namespace: |
− | # | + | #*:<source lang="text">kubectl apply -f apply create-gim-namespace.json</source> |
− | # | + | #*Confirm namespace creation: |
− | + | #:<source lang="text">kubectl describe namespace gim</source> | |
− | #Create | + | #Create the pull secret for the Genesys JFrog image registry. |
+ | #*The JFrog image registry is represented as <code>docker-registry</code> in the system. | ||
+ | #*Here, you define the credentials Kubernetes uses to pull images and Helm charts from the repository. | ||
+ | #*When you configure Genesys Info Mart, you will reference the pull secret for the registry as a Helm chart override. | ||
+ | #:<source lang="text">kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim</source> | ||
+ | |||
+ | {{AnchorDiv|GIM_Env_AKS}} | ||
+ | ===AKS environment setup=== | ||
+ | |||
+ | #Ensure that the Azure CLI and required Helm version are installed on the host where you will run the deployment. | ||
+ | #Using the CLI, log in to the Azure cluster from the host where you will run the deployment: | ||
+ | #If the cluster administrator has not already done so, create a new namespace <code>gim</code> for GIM: | ||
+ | #*Create a JSON file specifying the namespace metadata; for example, '''create-gim-namespace.json''' as in the following example: | ||
+ | #:<source lang="bash">{ | ||
+ | "apiVersion": "v1", | ||
+ | "kind": "Namespace", | ||
+ | "metadata": { | ||
+ | "name": "gim", | ||
+ | "labels": { | ||
+ | "name": "gim" | ||
+ | } | ||
+ | } | ||
+ | }</source> | ||
+ | #*Execute the following command to create the <code>gim</code> namespace: | ||
+ | #*:<source lang="text">kubectl apply -f apply create-gim-namespace.json</source> | ||
+ | #*Confirm namespace creation: | ||
+ | #:<source lang="text">kubectl describe namespace gim</source> | ||
+ | #Create the pull secret for the Genesys JFrog image registry. | ||
+ | #*The JFrog image registry is represented as <code>docker-registry</code> in the system. | ||
+ | #*Here, you define the credentials Kubernetes uses to pull images and Helm charts from the repository. | ||
+ | #*When you configure Genesys Info Mart, you will reference the pull secret for the registry as a Helm chart override. | ||
#:<source lang="text">kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim</source> | #:<source lang="text">kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim</source> | ||
|Status=No | |Status=No |
Revision as of 16:16, September 2, 2022
Contents
Learn how to deploy GIM (GIM) into a private edition environment.
Assumptions
- The instructions on this page assume you are deploying the service in a service-specific namespace, named in accordance with the requirements on Creating namespaces. If you are using a single namespace for all private edition services, replace the namespace element in the commands on this page with the name of your single namespace or project.
- Similarly, the configuration and environment setup instructions assume you need to create namespace-specific (in other words, service-specific) secrets. If you are using a single namespace for all private edition services, you might not need to create separate secrets for each service, depending on your credentials management requirements. However, if you do create service-specific secrets in a single namespace, be sure to avoid naming conflicts.
Set up your environment
To prepare your environment for the deployment, complete the steps in this section for:
OpenShift environment setup
- Using the CLI, log in to the OpenShift cluster on the host where you will run the deployment:
oc login --token <token> --server <URL of the API server>
- (Optional) Check the cluster version:
oc get clusterversion
- If the cluster administrator has not already done so, create a new project
gim
for GIM:oc new-project gim
- Set the default project to
gim
:oc project gim
- Create the pull secret for the Genesys JFrog image registry.
- The JFrog image registry is represented as
docker-registry
in the system. - Here, you define the credentials Kubernetes uses to pull images and Helm charts from the repository.
- When you configure Genesys Info Mart, you will reference the pull secret for the registry as a Helm chart override.
oc create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim
- The JFrog image registry is represented as
GKE environment setup
- Ensure that the gcloud CLI and required Helm version are installed on the host where you will run the deployment.
- Using the CLI, log in to the GKE cluster from the host where you will run the deployment:
gcloud container clusters get-credentials <cluster>
- If the cluster administrator has not already done so, create a new namespace
gim
for GIM:- Create a JSON file specifying the namespace metadata. For example, create-gim-namespace.json:
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "gim", "labels": { "name": "gim" } } }
- Execute the following command to create the
gim
namespace:kubectl apply -f apply create-gim-namespace.json
- Confirm namespace creation:
kubectl describe namespace gim
- Create the pull secret for the Genesys JFrog image registry.
- The JFrog image registry is represented as
docker-registry
in the system. - Here, you define the credentials Kubernetes uses to pull images and Helm charts from the repository.
- When you configure Genesys Info Mart, you will reference the pull secret for the registry as a Helm chart override.
kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim
- The JFrog image registry is represented as
AKS environment setup
- Ensure that the Azure CLI and required Helm version are installed on the host where you will run the deployment.
- Using the CLI, log in to the Azure cluster from the host where you will run the deployment:
- If the cluster administrator has not already done so, create a new namespace
gim
for GIM:- Create a JSON file specifying the namespace metadata; for example, create-gim-namespace.json as in the following example:
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "gim", "labels": { "name": "gim" } } }
- Execute the following command to create the
gim
namespace:kubectl apply -f apply create-gim-namespace.json
- Confirm namespace creation:
kubectl describe namespace gim
- Create the pull secret for the Genesys JFrog image registry.
- The JFrog image registry is represented as
docker-registry
in the system. - Here, you define the credentials Kubernetes uses to pull images and Helm charts from the repository.
- When you configure Genesys Info Mart, you will reference the pull secret for the registry as a Helm chart override.
kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gim
- The JFrog image registry is represented as
Deploy
Execute the following command to install GIM:
helm upgrade --install gim <gim-helm-artifact> -f <gim-values.yaml> -n gim
Execute the following command to install GIM monitoring:
helm upgrade --install gim-monitoring <gim-monitoring-helm-artifact> -n gim
When the GIM service starts, it connects to the Info Mart database and checks if the GIM schema has been initialized. If the schema has not been initialized, the service runs a script to initialize the GIM schema.
Validate the deployment
You can consider GIM deployment successful when the pod is running and in Ready state. Genesys Info Mart does not report the Ready state for pods until internal health checks are satisfied and the pods are operational. For example, GIM does not report Ready until the first transformation job has completed successfully. In other words, if the GIM pod is running and in Ready state, it means that GIM successfully started, connected to Kafka and the Info Mart database, initialized the Info Mart database, and completed the first ETL cycle.
You can use standard kubectl commands like list and get to verify the successful deployment and readiness status of the Kubernetes objects, including connection to the database.
However, from a functional point of view, you cannot validate deployment of the GIM service and database unless GCA and GSP have been deployed as well. Do not expect consistent data until all three Genesys Info Mart services are up and running. For more details about functional checks you can perform to validate GIM deployment, see the equivalent validation section on the Deploy GIM Stream Processor page.