Difference between revisions of "PEC-REP/Current/GIMPEGuide/DeployGCA"
(Published) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{ArticlePEServiceDeploy |
− | | | + | |ServiceId=3b2bdfd2-9eb1-4a99-a181-356f2704bc02 |
− | | | + | |IncludedServiceId=f05492f5-52ed-490a-b0d5-c318a4a7272b |
− | | | + | |IncludeAssumptions=Yes |
− | |||
|Section={{Section | |Section={{Section | ||
|alignment=Vertical | |alignment=Vertical | ||
− | |structuredtext={{NoteFormat|Make sure to review {{Link-SomewhereInThisVersion|topic=PlanningGCA}} for the full list of prerequisites required to deploy GCA.|}} | + | |structuredtext={{NoteFormat|Make sure to review {{Link-SomewhereInThisVersion|topic=PlanningGCA}} for the full list of prerequisites required to deploy GCA, including provisioning the required S3-compatible storage.|}} |
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
|sectionHeading=Set up your environment | |sectionHeading=Set up your environment | ||
|alignment=Vertical | |alignment=Vertical | ||
− | |structuredtext= | + | |structuredtext=To prepare your environment for the deployment, complete the steps in this section for: |
− | # Log in to the | + | |
− | #: <source lang="text"> | + | *[[{{FULLPAGENAME}}#GCA_Env_GKE|GKE]] |
− | # | + | *[[{{FULLPAGENAME}}#GCA_Env_AKS|AKS]] |
− | #: <source lang=" | + | |
− | # If the cluster administrator has not already done so, create a new | + | {{AnchorDiv|GCA_Env_GKE}} |
− | #: <source lang="text"> | + | ===GKE environment setup=== |
− | # | + | |
− | #: <source lang="text"> | + | #Ensure that the gcloud CLI and required Helm version are installed on the host where you will run the deployment. |
− | # Create a secret | + | #Log in to the GKE cluster from the host where you will run the deployment: |
− | #: <source lang="text"> | + | #:<source lang="text">gcloud container clusters get-credentials <cluster></source> |
+ | #If the cluster administrator has not already done so, create a new namespace for GCA: | ||
+ | #*Create a .json file specifying the namespace metadata. For example, '''create-gca-namespace.json''': | ||
+ | #*:<source lang="bash">{ | ||
+ | "apiVersion": "v1", | ||
+ | "kind": "Namespace", | ||
+ | "metadata": { | ||
+ | "name": "gca", | ||
+ | "labels": { | ||
+ | "name": "gca" | ||
+ | } | ||
+ | } | ||
+ | }</source> | ||
+ | #*Execute the following command to create the namespace: | ||
+ | #*:<source lang="text">kubectl apply -f apply create-gca-namespace.json</source> | ||
+ | #*Confirm namespace creation: | ||
+ | #*:<source lang="text">kubectl describe namespace gca</source> | ||
+ | #Create the pull secret for the image registry. | ||
+ | #*This step defines a secret so that Kubernetes can authenticate your image repository and pull artifacts from it. The repository is represented as <code>docker-registry</code> in the system. For information about downloading artifacts from the repository, see {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ManageServices}}. | ||
+ | #*When you configure GCA, you will reference the registry pull secret as a Helm chart override; see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=ConfigureGCA|anchor=GCA_HelmOverrides|display text=GCA Helm chart overrides}}. | ||
+ | #:<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 gca</source> | ||
+ | |||
+ | {{AnchorDiv|GCA_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. | ||
+ | #Log in to the AKS cluster from the host where you will run the deployment. | ||
+ | #:<source lang="bash"> | ||
+ | az aks get-credentials --resource-group <resource-group-name> --name <cluster-name> --admin | ||
+ | </source> | ||
+ | #If the cluster administrator has not already done so, create a new namespace for GCA: | ||
+ | #*Create a .json file specifying the namespace metadata. For example, '''create-gca-namespace.json''': | ||
+ | #*:<source lang="bash">{ | ||
+ | "apiVersion": "v1", | ||
+ | "kind": "Namespace", | ||
+ | "metadata": { | ||
+ | "name": "gca", | ||
+ | "labels": { | ||
+ | "name": "gca" | ||
+ | } | ||
+ | } | ||
+ | }</source> | ||
+ | #*Execute the following command to create the namespace: | ||
+ | #*:<source lang="text">kubectl apply -f apply create-gca-namespace.json</source> | ||
+ | #*Confirm namespace creation: | ||
+ | #*:<source lang="text">kubectl describe namespace gca</source> | ||
+ | #Create the pull secret for the image registry. | ||
+ | #*This step defines a secret so that Kubernetes can authenticate your image repository and pull artifacts from it. The repository is represented as <code>docker-registry</code> in the system. For information about downloading artifacts from the repository, see {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ManageServices}}. | ||
+ | #*When you configure GCA, you will reference the registry pull secret as a Helm chart override; see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=ConfigureGCA|anchor=GCA_HelmOverrides|display text=GCA Helm chart overrides}}. | ||
+ | #:<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 gca</source> | ||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
− | |sectionHeading=Deploy | + | |sectionHeading=Deploy |
|alignment=Vertical | |alignment=Vertical | ||
|structuredtext=Execute the following command to install GCA: | |structuredtext=Execute the following command to install GCA: | ||
− | <source lang="text">helm upgrade --install <gca-helm-artifact> -f gca-values.yaml -n gca</source> | + | <source lang="text">helm upgrade --install <gca-helm-artifact> -f <gca-values.yaml> -n gca</source> |
Execute the following command to install GCA monitoring: | Execute the following command to install GCA monitoring: | ||
<source lang="text">helm upgrade --install gca-monitoring <gca-monitoring-helm-artifact> -n gca</source> | <source lang="text">helm upgrade --install gca-monitoring <gca-monitoring-helm-artifact> -n gca</source> | ||
|Status=No | |Status=No | ||
}}{{Section | }}{{Section | ||
− | |sectionHeading=Validate the deployment | + | |sectionHeading=Validate the deployment |
|alignment=Vertical | |alignment=Vertical | ||
− | |structuredtext={{ | + | |structuredtext=You can consider GCA 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. You can use standard <tt>kubectl</tt> commands like <tt>list</tt> and <tt>get</tt> 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 GCA unless GSP and GIM 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 GCA deployment, see the equivalent validation section on the {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=DeployGSP|anchor=Validate}} page. | ||
|Status=No | |Status=No | ||
}} | }} | ||
|PEPageType=45d1441f-dc69-4a17-bd47-af5d811ce167 | |PEPageType=45d1441f-dc69-4a17-bd47-af5d811ce167 | ||
}} | }} |
Latest revision as of 13:31, March 10, 2023
Contents
Learn how to deploy GIM Config Adapter (GCA) 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:
GKE environment setup
- Ensure that the gcloud CLI and required Helm version are installed on the host where you will run the deployment.
- 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 for GCA:
- Create a .json file specifying the namespace metadata. For example, create-gca-namespace.json:
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "gca", "labels": { "name": "gca" } } }
- Execute the following command to create the namespace:
kubectl apply -f apply create-gca-namespace.json
- Confirm namespace creation:
kubectl describe namespace gca
- Create a .json file specifying the namespace metadata. For example, create-gca-namespace.json:
- Create the pull secret for the image registry.
- This step defines a secret so that Kubernetes can authenticate your image repository and pull artifacts from it. The repository is represented as
docker-registry
in the system. For information about downloading artifacts from the repository, see Downloading your Genesys Multicloud CX containers. - When you configure GCA, you will reference the registry pull secret as a Helm chart override; see GCA Helm chart overrides.
kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gca
- This step defines a secret so that Kubernetes can authenticate your image repository and pull artifacts from it. The repository 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.
- Log in to the AKS cluster from the host where you will run the deployment.
az aks get-credentials --resource-group <resource-group-name> --name <cluster-name> --admin
- If the cluster administrator has not already done so, create a new namespace for GCA:
- Create a .json file specifying the namespace metadata. For example, create-gca-namespace.json:
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "gca", "labels": { "name": "gca" } } }
- Execute the following command to create the namespace:
kubectl apply -f apply create-gca-namespace.json
- Confirm namespace creation:
kubectl describe namespace gca
- Create a .json file specifying the namespace metadata. For example, create-gca-namespace.json:
- Create the pull secret for the image registry.
- This step defines a secret so that Kubernetes can authenticate your image repository and pull artifacts from it. The repository is represented as
docker-registry
in the system. For information about downloading artifacts from the repository, see Downloading your Genesys Multicloud CX containers. - When you configure GCA, you will reference the registry pull secret as a Helm chart override; see GCA Helm chart overrides.
kubectl create secret docker-registry <repository secret name> --docker-server=<repository> --docker-username=<username> --docker-password=<password/API key> --docker-email=<email id> -n gca
- This step defines a secret so that Kubernetes can authenticate your image repository and pull artifacts from it. The repository is represented as
Deploy
Execute the following command to install GCA:
helm upgrade --install <gca-helm-artifact> -f <gca-values.yaml> -n gca
Execute the following command to install GCA monitoring:
helm upgrade --install gca-monitoring <gca-monitoring-helm-artifact> -n gca
Validate the deployment
You can consider GCA 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. 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 GCA unless GSP and GIM 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 GCA deployment, see the equivalent validation section on the Deploy GIM Stream Processor page.