Difference between revisions of "PEC-Email/Current/EmailPEGuide/Deploy"

From Genesys Documentation
Jump to: navigation, search
(Published)
 
Line 5: Line 5:
 
|ComingSoon=No
 
|ComingSoon=No
 
|Section={{Section
 
|Section={{Section
|sectionHeading=Prepare your environment
+
|sectionHeading=Kubernetes
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext={{NoteFormat|
+
|structuredtext====Prepare===
*Make sure to review {{Link-SomewhereInThisVersion|topic=Planning}} for the full list of prerequisites required to deploy Email.
 
*The sample code snippets and install commands in this document use an example version of Email. Ensure that you replace the example version with the version that is applicable for your deployment.|}}
 
  
#Create a new project using the following command:<source>kubectl create namespace iwdem</source>For OpenShift:<source>oc get clusterversion
+
#Create a new project using the following command:<source>kubectl create namespace iwdem</source>
 +
#Create a pull secret for accessing the JFrog registry. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Create_the_pull_secret|display text=Create the pull secret}}.
 +
#Download the IWD helm chart from the JFrog repository. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Planning|display text=Download the Helm charts}}.
 +
#Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.
 +
 
 +
===Deploy===
 +
 
 +
#Extract parameters from chart to see multiple (default) values used to fine tune the installation.<source>$ helm show values iwdem-<version>.tgz > values.yaml</source>For information on parameters and values in the '''values.yaml''' file, see {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Override_Helm_chart_values|display text=Override Helm chart values}}.<br /> Sample override file:<source>
 +
replicaCount: 1
 +
 +
image:
 +
  registry: pureengage-docker-staging.jfrog.io
 +
  repository: nexus/iwd-email
 +
  pullSecrets:
 +
    - name: pullsecret
 +
 +
gauth:
 +
  auth:
 +
    url: http://gauth-auth.${GAUTH_NAMESPACE}:80
 +
 +
redis:
 +
  nodes: redis://${REDIS_ADDR}:${REDIS_PORT}
 +
  useCluster: true
 +
  enableTLS: false
 +
  #password: xxx #in secrets
 +
 +
nexus:
 +
  url: http://nexus.${NEXUS_NAMESPACE}
 +
  #apikey: xxx #in secrets
 +
 +
monitoring:
 +
  # Deploy PodMonitor
 +
  enabled: true
 +
  # Create PrometheusRule k8s object with alarm definitions
 +
  alarms: true
 +
  # Create ConfigMap with Grafana Dashboards
 +
  dashboards: true
 +
  # URL to Runbook
 +
  # runbookUrl:
 +
</source>
 +
#Install Email using the following command (replace <> with applicable values):<source>
 +
helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml \
 +
    --set redis.password=<password to redis> \
 +
    --set nexus.apikey=<Nexus API key> \
 +
    --namespace=iwdem
 +
</source>
 +
 
 +
<br />
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=OpenShift
 +
|alignment=Vertical
 +
|structuredtext====Prepare===
 +
 
 +
#Create a new project using the following command:<source>oc get clusterversion
 
oc new-project iwdem</source>
 
oc new-project iwdem</source>
 
#Create a pull secret for accessing the JFrog registry. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Create_the_pull_secret|display text=Create the pull secret}}.
 
#Create a pull secret for accessing the JFrog registry. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Create_the_pull_secret|display text=Create the pull secret}}.
 
#Download the IWD helm chart from the JFrog repository. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Planning|display text=Download the Helm charts}}.
 
#Download the IWD helm chart from the JFrog repository. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Planning|display text=Download the Helm charts}}.
 
#Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.
 
#Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.
 +
 +
===Deploy===
 +
 +
#Extract parameters from chart to see multiple (default) values used to fine tune the installation.<source>$ helm show values iwdem-<version>.tgz > values.yaml</source>For information on parameters and values in the '''values.yaml''' file, see {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Override_Helm_chart_values|display text=Override Helm chart values}}.<br /> Sample override file:<source>
 +
replicaCount: 1
 +
 +
image:
 +
  registry: pureengage-docker-staging.jfrog.io
 +
  repository: nexus/iwd-email
 +
  pullSecrets:
 +
    - name: pullsecret
 +
 +
gauth:
 +
  auth:
 +
    url: http://gauth-auth.${GAUTH_NAMESPACE}:80
 +
 +
redis:
 +
  nodes: redis://${REDIS_ADDR}:${REDIS_PORT}
 +
  useCluster: true
 +
  enableTLS: false
 +
  #password: xxx #in secrets
 +
 +
nexus:
 +
  url: http://nexus.${NEXUS_NAMESPACE}
 +
  #apikey: xxx #in secrets
 +
 +
monitoring:
 +
  # Deploy PodMonitor
 +
  enabled: true
 +
  # Create PrometheusRule k8s object with alarm definitions
 +
  alarms: true
 +
  # Create ConfigMap with Grafana Dashboards
 +
  dashboards: true
 +
  # URL to Runbook
 +
  # runbookUrl:
 +
</source>
 +
#Install Email using the following command (replace <> with applicable values):<source>
 +
helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml \
 +
    --set redis.password=<password to redis> \
 +
    --set nexus.apikey=<Nexus API key> \
 +
    --namespace=iwdem
 +
</source>
 +
 +
<br />
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Deploy
+
|sectionHeading=Google Kubernetes Engine (GKE)
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=Extract parameters from chart to see multiple (default) values used to fine tune the installation.
+
|structuredtext====Prepare===
$ helm show values iwdem-900.56.234.tgz > values.yaml
 
For information on parameters and values in the '''values.yaml''' file, see {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Override_Helm_chart_values|display text=Override Helm chart values}}.
 
  
Sample override file:<source>
+
#Log in to the GKE cluster.<source>gcloud container clusters get-credentials <cluster-name></source>
 +
#Create a new project:
 +
##Create a ''create-iwdem-namespace.json'' :<source>{
 +
  "apiVersion": "v1",
 +
  "kind": "Namespace",
 +
  "metadata": {
 +
    "name": "iwdem",
 +
    "labels": {
 +
      "name": "iwdem"
 +
    }
 +
  }
 +
}</source>
 +
##Create a namespace using the above JSON:<source>kubectl apply -f create-iwdem-namespace.json</source>
 +
##Confirm the namespace creation:<source>kubectl describe namespace iwdem</source>
 +
#Create a pull secret for accessing the JFrog registry.<source>kubectl create secret docker-registry jfrog-stage-credentials \
 +
--docker-server=pureengage-docker-staging.jfrog.io \
 +
--docker-username=<camelot-username> \
 +
--docker-password=<API key from jfrog> \
 +
--docker-email=<emailid></source>
 +
#Download the IWD helm chart from the JFrog repository. See {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Planning|display text=Download the Helm charts}}.
 +
#Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.
 +
 
 +
===Deploy===
 +
 
 +
#Extract parameters from chart to see multiple (default) values used to fine tune the installation.<source>$ helm show values iwdem-<version>.tgz > values.yaml</source>For information on parameters and values in the '''values.yaml''' file, see {{Link-AnywhereElse|product=PEC-Email|version=Current|manual=EmailPEGuide|topic=Configure#Override_Helm_chart_values|display text=Override Helm chart values}}.<br /> Sample override file:<source>
 
replicaCount: 1
 
replicaCount: 1
 +
 
image:
 
image:
 
   registry: pureengage-docker-staging.jfrog.io
 
   registry: pureengage-docker-staging.jfrog.io
 
   repository: nexus/iwd-email
 
   repository: nexus/iwd-email
   pullSecrets: []
+
   pullSecrets:
 +
    - name: pullsecret
 +
 
gauth:
 
gauth:
 
   auth:
 
   auth:
     url: http://gauth-auth.gauth.svc.cluster.local:80
+
     url: http://gauth-auth.${GAUTH_NAMESPACE}:80
 +
 
redis:
 
redis:
   nodes: redis://infra-redis-redis-cluster.infra.svc.cluster.local:6379
+
   nodes: redis://${REDIS_ADDR}:${REDIS_PORT}
 
   useCluster: true
 
   useCluster: true
 
   enableTLS: false
 
   enableTLS: false
   password: <test_password>:
+
   #password: xxx #in secrets
 +
 
nexus:
 
nexus:
   url: http://nexus.nexus
+
   url: http://nexus.${NEXUS_NAMESPACE}
   apikey: <nexus api key>
+
   #apikey: xxx #in secrets
</source>Install Email using the following command (replace <> with applicable values):<source>
+
helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml --namespace=iwdem
+
monitoring:
</source><br />
+
  # Deploy PodMonitor
 +
  enabled: true
 +
  # Create PrometheusRule k8s object with alarm definitions
 +
  alarms: true
 +
  # Create ConfigMap with Grafana Dashboards
 +
  dashboards: true
 +
  # URL to Runbook
 +
  # runbookUrl:
 +
</source>
 +
#Install Email using the following command (replace <> with applicable values):<source>
 +
helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml \
 +
    --set redis.password=<password to redis> \
 +
    --set nexus.apikey=<Nexus API key> \
 +
    --namespace=iwdem
 +
</source>
 +
 
 +
<br />
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section

Revision as of 19:52, March 30, 2022

This topic is part of the manual Email Private Edition Guide for version Current of Email.

Learn how to deploy Email.

Kubernetes

Prepare

  1. Create a new project using the following command:
    kubectl create namespace iwdem
  2. Create a pull secret for accessing the JFrog registry. See Create the pull secret.
  3. Download the IWD helm chart from the JFrog repository. See Download the Helm charts.
  4. Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.

Deploy

  1. Extract parameters from chart to see multiple (default) values used to fine tune the installation.
    $ helm show values iwdem-<version>.tgz > values.yaml
    For information on parameters and values in the values.yaml file, see Override Helm chart values.
    Sample override file:
    replicaCount: 1
     
    image:
      registry: pureengage-docker-staging.jfrog.io
      repository: nexus/iwd-email
      pullSecrets:
        - name: pullsecret
     
    gauth:
      auth:
        url: http://gauth-auth.${GAUTH_NAMESPACE}:80
     
    redis:
      nodes: redis://${REDIS_ADDR}:${REDIS_PORT}
      useCluster: true
      enableTLS: false
      #password: xxx #in secrets
     
    nexus:
      url: http://nexus.${NEXUS_NAMESPACE}
      #apikey: xxx #in secrets
     
    monitoring:
      # Deploy PodMonitor
      enabled: true
      # Create PrometheusRule k8s object with alarm definitions
      alarms: true
      # Create ConfigMap with Grafana Dashboards
      dashboards: true
      # URL to Runbook
      # runbookUrl:
  2. Install Email using the following command (replace <> with applicable values):
    helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml \
        --set redis.password=<password to redis> \
        --set nexus.apikey=<Nexus API key> \
        --namespace=iwdem


OpenShift

Prepare

  1. Create a new project using the following command:
    oc get clusterversion
    oc new-project iwdem
  2. Create a pull secret for accessing the JFrog registry. See Create the pull secret.
  3. Download the IWD helm chart from the JFrog repository. See Download the Helm charts.
  4. Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.

Deploy

  1. Extract parameters from chart to see multiple (default) values used to fine tune the installation.
    $ helm show values iwdem-<version>.tgz > values.yaml
    For information on parameters and values in the values.yaml file, see Override Helm chart values.
    Sample override file:
    replicaCount: 1
     
    image:
      registry: pureengage-docker-staging.jfrog.io
      repository: nexus/iwd-email
      pullSecrets:
        - name: pullsecret
     
    gauth:
      auth:
        url: http://gauth-auth.${GAUTH_NAMESPACE}:80
     
    redis:
      nodes: redis://${REDIS_ADDR}:${REDIS_PORT}
      useCluster: true
      enableTLS: false
      #password: xxx #in secrets
     
    nexus:
      url: http://nexus.${NEXUS_NAMESPACE}
      #apikey: xxx #in secrets
     
    monitoring:
      # Deploy PodMonitor
      enabled: true
      # Create PrometheusRule k8s object with alarm definitions
      alarms: true
      # Create ConfigMap with Grafana Dashboards
      dashboards: true
      # URL to Runbook
      # runbookUrl:
  2. Install Email using the following command (replace <> with applicable values):
    helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml \
        --set redis.password=<password to redis> \
        --set nexus.apikey=<Nexus API key> \
        --namespace=iwdem


Google Kubernetes Engine (GKE)

Prepare

  1. Log in to the GKE cluster.
    gcloud container clusters get-credentials <cluster-name>
  2. Create a new project:
    1. Create a create-iwdem-namespace.json :
      {
        "apiVersion": "v1",
        "kind": "Namespace",
        "metadata": {
          "name": "iwdem",
          "labels": {
            "name": "iwdem"
          }
        }
      }
    2. Create a namespace using the above JSON:
      kubectl apply -f create-iwdem-namespace.json
    3. Confirm the namespace creation:
      kubectl describe namespace iwdem
  3. Create a pull secret for accessing the JFrog registry.
    kubectl create secret docker-registry jfrog-stage-credentials \
    --docker-server=pureengage-docker-staging.jfrog.io \
    --docker-username=<camelot-username> \
    --docker-password=<API key from jfrog> \
    --docker-email=<emailid>
  4. Download the IWD helm chart from the JFrog repository. See Download the Helm charts.
  5. Email requires the Digital Channels API key. The key must be provisioned and shared via Digital Channels.

Deploy

  1. Extract parameters from chart to see multiple (default) values used to fine tune the installation.
    $ helm show values iwdem-<version>.tgz > values.yaml
    For information on parameters and values in the values.yaml file, see Override Helm chart values.
    Sample override file:
    replicaCount: 1
     
    image:
      registry: pureengage-docker-staging.jfrog.io
      repository: nexus/iwd-email
      pullSecrets:
        - name: pullsecret
     
    gauth:
      auth:
        url: http://gauth-auth.${GAUTH_NAMESPACE}:80
     
    redis:
      nodes: redis://${REDIS_ADDR}:${REDIS_PORT}
      useCluster: true
      enableTLS: false
      #password: xxx #in secrets
     
    nexus:
      url: http://nexus.${NEXUS_NAMESPACE}
      #apikey: xxx #in secrets
     
    monitoring:
      # Deploy PodMonitor
      enabled: true
      # Create PrometheusRule k8s object with alarm definitions
      alarms: true
      # Create ConfigMap with Grafana Dashboards
      dashboards: true
      # URL to Runbook
      # runbookUrl:
  2. Install Email using the following command (replace <> with applicable values):
    helm install iwdem ./iwdem-<version>.tgz -f override_values.yaml \
        --set redis.password=<password to redis> \
        --set nexus.apikey=<Nexus API key> \
        --namespace=iwdem


Validate the deployment

Watch the helm output at the end of installation. Pods must be in a Running state and they must pass all READY checks.

See the following sample output:
Release "iwdem" has been upgraded. Happy Helming!
NAME: iwdem
LAST DEPLOYED: Tue Jul 13 10:18:07 2021
NAMESPACE: iwd
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Please be patient while iwd 100.0.0741322 is being deployed

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