Configure Interaction Server

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Interaction Server Private Edition Guide for version Current of Interaction Server.

Learn how to prepare and configure deployment of Interaction Server (IXN) using Helm chart.

Deployment configuration settings (Helm values)

Following items should be configured:

  • Interaction Server deployment settings
  • Configuration Server settings
  • Security context

Interaction Server deployment settings

The following table provides information on the Interaction Server deployment settings.

    
Key    
    
Type    
    
Default    
    
Description    
   
image.imagePullSecrets   
   
list   
   
[]   
   
imagePullSecrets must have the following format:
   - name: pullSecret1
   - name: pullSecret2   
   
image.pullPolicy   
   
string   
   
"IfNotPresent"   
   
Images pull policy   
   
image.registry   
   
string   
   
""   
   
Images registry   
   
ixnService.annotations   
   
string   
   
nil   
   
Extra Annotations
   ref:Annotations
   Must be declared with starting |-   since they are parsed as template   
   
ixnService.image.ixnNode.repository   
   
string   
   
""   
   
Interaction Server Node docker image repository   
   
ixnService.image.ixnNode.tag   
   
string   
   
""   
   
Interaction Server Node docker image repository tag   
   
ixnService.image.ixnServer.repository   
   
string   
   
""   
   
Interaction Server repository   
   
ixnService.image.ixnServer.tag   
   
string   
   
""   
   
Interaction Server tag   
   
ixnService.image.logSidecar.enabled   
   
bool   
   
false   
   
Enable Interaction Server logging sidecar   
   
ixnService.image.logSidecar.repository   
   
string   
   
""   
   
Interaction Server logging sidecar docker image repository   
   
ixnService.image.logSidecar.tag   
   
string   
   
""   
   
Interaction Server logging sidecar docker image tag   
   
ixnService.ixnNode.configNode.host   
   
string   
   
nil   
   
Interaction Server Node connects to Voice Config Service host   
   
ixnService.ixnNode.configNode.port   
   
int   
   
8888   
   
Interaction Server Node connects to Voice Config Service port   
   
ixnService.ixnNode.consul.host   
   
string   
   
nil   
   
A consul host is either a string literal or valueFrom   definition to be inserted into pod definition   
   
ixnService.ixnNode.consul.port   
   
int   
   
8500   
   
A consul port   
   
ixnService.ixnNode.consul.sslMode   
   
string   
   
nil   
   
Connect to Consul using SSL mode: true or false   
   
ixnService.ixnNode.livenessProbe.failureThreshold   
   
int   
   
3   
   
Interaction Server Node liveness probe failure threshold   
   
ixnService.ixnNode.livenessProbe.initialDelaySeconds   
   
int   
   
15   
   
Interaction Server Node liveness probe initial delay   
   
ixnService.ixnNode.livenessProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server Node liveness probe check period   
   
ixnService.ixnNode.livenessProbe.timeoutSeconds   
   
int   
   
3   
   
Interaction Server Node liveness probe timeout   
   
ixnService.ixnNode.ports.default   
   
int   
   
13133   
   
Interaction Server Node default port   
   
ixnService.ixnNode.readinessProbe.failureThreshold   
   
int   
   
3   
   
Interaction Server Node readiness probe failure threshold   
   
ixnService.ixnNode.readinessProbe.initialDelaySeconds   
   
int   
   
15   
   
Interaction Server Node readiness probe initial delay   
   
ixnService.ixnNode.readinessProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server Node readiness probe check period   
   
ixnService.ixnNode.readinessProbe.timeoutSeconds   
   
int   
   
3   
   
Interaction Server Node readiness probe timeout   
   
ixnService.ixnNode.redisOptions.tls.enabled   
   
bool   
   
nil   
   
Enable TLS mode for Interaction Server Node to Redis   connection   
   
ixnService.ixnNode.redisOptions.tls.rejectUnauthorized   
   
bool   
   
nil   
   
Reject unauthorized hostnames when using TLS connection   
   
ixnService.ixnNode.redis[0]   
   
object   
   
{"host":null,"is_redis_cluster":null,"port":6379}   
   
Interaction Server Node connects to Redis host   
   
ixnService.ixnNode.redis[0].is_redis_cluster   
   
string   
   
nil   
   
Is Redis instance a Cluster or not: true and false   
   
ixnService.ixnNode.redis[0].port   
   
int   
   
6379   
   
Interaction Server Node connects to Redis port   
   
ixnService.ixnNode.resources.limits.cpu   
   
string   
   
"300m"   
   
Interaction Server Node Kubernetes CPU limit   
   
ixnService.ixnNode.resources.limits.memory   
   
string   
   
"320Mi"   
   
Interaction Server Node Kubernetes memory limit   
   
ixnService.ixnNode.resources.requests.cpu   
   
string   
   
"40m"   
   
Interaction Server Node Kubernetes CPU request   
   
ixnService.ixnNode.resources.requests.memory   
   
string   
   
"128Mi"   
   
Interaction Server Node Kubernetes memory request   
   
ixnService.ixnNode.settings.file   
   
string   
   
"settings.json"   
   
Interaction Server Node settings file name   
   
ixnService.ixnNode.settings.mountPath   
   
string   
   
"/mnt/settings"   
   
Interaction Server Node settings mount path   
   
ixnService.ixnNode.volumeMounts   
   
object   
   
{}   
   
Volumes mounted into an Interaction Server Node container   
   
ixnService.ixnServer.confServer.appName   
   
string   
   
nil   
   
Interaction Server application name in Configuration Server   
   
ixnService.ixnServer.confServer.host   
   
string   
   
nil   
   
Interaction Server connects to Configuration Server host   
   
ixnService.ixnServer.confServer.port   
   
int   
   
8888   
   
Interaction Server connects to Configuration Server port   
   
ixnService.ixnServer.db.connectionString   
   
string   
   
"KeepaliveInterval=1;KeepaliveTime=60;"   
   
Interaction Server Database connection string suffix   
   
ixnService.ixnServer.db.engine   
   
string   
   
"postgre"   
   
Interaction Server Database engine   
   
ixnService.ixnServer.db.host   
   
string   
   
""   
   
Interaction Server Database host   
   
ixnService.ixnServer.db.name   
   
string   
   
""   
   
Interaction Server Database name   
   
ixnService.ixnServer.db.optionBlobChunkSize   
   
string   
   
nil   
   
Interaction Server Database Blob Chunk Size. Can be left empty   
   
ixnService.ixnServer.db.optionReconnectPause   
   
string   
   
nil   
   
Interaction Server Database Reconnect Pause. Can be left empty   
   
ixnService.ixnServer.db.port   
   
int   
   
5432   
   
Interaction Server Database port   
   
ixnService.ixnServer.db.schemaName   
   
string   
   
nil   
   
Interaction Server Database schema name. Can be left empty   
   
ixnService.ixnServer.jvmOptions.1   
   
string   
   
"-XX:+UnlockExperimentalVMOptions"   
   
ixnService.ixnServer.jvmOptions.2   
   
string   
   
"-XX:+UseCGroupMemoryLimitForHeap"   
   
ixnService.ixnServer.jvmOptions.3   
   
string   
   
"-XX:+UseG1GC"   
   
ixnService.ixnServer.jvmOptions.4   
   
string   
   
"-XX:MinHeapFreeRatio=5"   
   
ixnService.ixnServer.jvmOptions.5   
   
string   
   
"-XX:MaxHeapFreeRatio=10"   
   
ixnService.ixnServer.jvmOptions.6   
   
string   
   
"-XX:GCTimeRatio=4"   
   
ixnService.ixnServer.jvmOptions.7   
   
string   
   
"-XX:AdaptiveSizePol"   
   
ixnService.ixnServer.livenessProbe.failureThreshold   
   
int   
   
3   
   
Interaction Server liveness probe failure threshold   
   
ixnService.ixnServer.livenessProbe.initialDelaySeconds   
   
int   
   
15   
   
Interaction Server liveness probe initial delay   
   
ixnService.ixnServer.livenessProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server liveness probe check period   
   
ixnService.ixnServer.livenessProbe.timeoutSeconds   
   
int   
   
3   
   
Interaction Server liveness probe timeout   
   
ixnService.ixnServer.logStorage.mountPath   
   
string   
   
"/mnt/logs"   
   
Interaction Server logs mount path   
   
ixnService.ixnServer.logStorage.storageClassName   
   
string   
   
nil   
   
Interaction Server log storage class name. Used for PVC, can   be left empty   
   
ixnService.ixnServer.logStorage.storageSize   
   
string   
   
nil   
   
Interaction Server log storage size. Used for PVC, can be left   empty   
   
ixnService.ixnServer.logStorage.volume   
   
object   
   
{}   
   
A volume definition to be inserted into Interaction Server   container definition   
   
ixnService.ixnServer.ports.default   
   
int   
   
13130   
   
Interaction Server default port   
   
ixnService.ixnServer.ports.health   
   
int   
   
13131   
   
Interaction Server health port   
   
ixnService.ixnServer.readinessProbe.failureThreshold   
   
int   
   
3   
   
Interaction Server readiness probe failure threshold   
   
ixnService.ixnServer.readinessProbe.initialDelaySeconds   
   
int   
   
15   
   
Interaction Server readiness probe initial delay   
   
ixnService.ixnServer.readinessProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server readiness probe check period   
   
ixnService.ixnServer.readinessProbe.timeoutSeconds   
   
int   
   
3   
   
Interaction Server readiness probe timeout   
   
ixnService.ixnServer.resources.limits.cpu   
   
string   
   
"1.25"   
   
Interaction Server Kubernetes CPU limit   
   
ixnService.ixnServer.resources.limits.memory   
   
string   
   
"6Gi"   
   
Interaction Server Kubernetes memory limit   
   
ixnService.ixnServer.resources.requests.cpu   
   
string   
   
"50m"   
   
Interaction Server Kubernetes CPU request   
   
ixnService.ixnServer.resources.requests.memory   
   
string   
   
"1Gi"   
   
Interaction Server Kubernetes memory request   
   
ixnService.ixnServer.secrets.db.enabled   
   
string   
   
nil   
   
Enable Interaction Server database secret   
   
ixnService.ixnServer.secrets.db.password   
   
string   
   
nil   
   
Interaction Server database password to put in the secret   
   
ixnService.ixnServer.secrets.db.secretName   
   
string   
   
nil   
   
Interaction Server database secret name   
   
ixnService.ixnServer.secrets.db.username   
   
string   
   
nil   
   
Interaction Server database username to put in the secret   
   
ixnService.ixnServer.serviceAccount.create   
   
bool   
   
true   
   
Create service account for Interaction Server   
   
ixnService.ixnServer.serviceAccount.name   
   
string   
   
nil   
   
The name of the ServiceAccount to use.
   If not set and create is true, a name is generated using the fullname   template   
   
ixnService.ixnServer.startupProbe.failureThreshold   
   
int   
   
120   
   
Interaction Server startup probe failure threshold   
   
ixnService.ixnServer.startupProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server startup probe check period   
   
ixnService.ixnServer.volumeMounts   
   
object   
   
{}   
   
Volumes mounted into an Interaction Server container   
   
ixnService.labels   
   
object   
   
{}   
   
Extra labels
   ref:Labels and Selectors   
   
ixnService.logSidecar.ports.health   
   
int   
   
13137   
   
Log Sidecar health port   
   
ixnService.logSidecar.resources.limits.cpu   
   
string   
   
"300m"   
   
Interaction Server Log Sidecar Kubernetes CPU limit   
   
ixnService.logSidecar.resources.limits.memory   
   
string   
   
"320Mi"   
   
Interaction Server Log Sidecar Kubernetes memory limit   
   
ixnService.logSidecar.resources.requests.cpu   
   
string   
   
"40m"   
   
Interaction Server Log Sidecar Kubernetes CPU request   
   
ixnService.logSidecar.resources.requests.memory   
   
string   
   
"128Mi"   
   
Interaction Server Log Sidecar Kubernetes memory request   
   
ixnService.logSidecar.settings.enableHealthPort   
   
bool   
   
false   
   
Log Sidecar enable health port   
   
ixnService.nodeSelector   
   
object   
   
{}   
   
Node labels for assignment.
   ref:Labels and Selectors   
   
ixnService.priorityClassName   
   
string   
   
""   
   
Priority Class
   ref:Assigning Pods to Nodes   
   
ixnService.prometheus.podMonitor.enabled   
   
bool   
   
false   
   
Enable Promethes PodMonitor   
   
ixnService.prometheus.podMonitor.targetLabels   
   
object   
   
{}   
   
Promethes PodMonitor target labels   
   
ixnService.securityContext   
   
object   
   
{}   
   
Security Context
   ref:Set the security context for a Container
   Containers should run as genesys user and cannot use elevated permissions
   !!! THESE OPTIONS SHOULD NOT BE CHANGED UNLESS INSTRUCTED BY GENESYS !!!   
   
ixnService.service.enabled   
   
bool   
   
true   
   
Enable Kubernetes service for Interaction Service   
   
ixnService.volumes   
   
string   
   
nil   
   
Volumes provided to Interaction Service pod
   Must be declared with starting |-   since they are parsed as a template   
   
ixnVQNode.annotations   
   
string   
   
nil   
   
Extra Annotations
   ref:Annotations
   Must be declared with starting |-   since they are parsed as a template   
   
ixnVQNode.image.ixnVQNode.repository   
   
string   
   
nil   
   
Interaction Server VQ Node docker image repository   
   
ixnVQNode.image.ixnVQNode.tag   
   
string   
   
nil   
   
Interaction Server VQ Node docker image tag   
   
ixnVQNode.labels   
   
object   
   
{}   
   
Interaction Server VQ Node extra labels
   ref:Labels and Selectors   
   
ixnVQNode.livenessProbe.failureThreshold   
   
int   
   
3   
   
Interaction Server VQ Node liveness probe failure threshold   
   
ixnVQNode.livenessProbe.initialDelaySeconds   
   
int   
   
15   
   
Interaction Server VQ Node liveness probe initial delay   
   
ixnVQNode.livenessProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server VQ Node liveness probe check period   
   
ixnVQNode.livenessProbe.timeoutSeconds   
   
int   
   
3   
   
Interaction Server VQ Node liveness probe timeout   
   
ixnVQNode.nodeSelector   
   
object   
   
{}   
   
Node labels for assignment.
   ref:Assigning Pods to Nodes   
   
ixnVQNode.ports.default   
   
int   
   
13138   
   
Interaction Server VQ Node default port   
   
ixnVQNode.ports.health   
   
int   
   
13139   
   
Interaction Server VQ Node health port   
   
ixnVQNode.priorityClassName   
   
string   
   
""   
   
Priority Class
   ref:Pod Priority and Preemption   
   
ixnVQNode.prometheus.podMonitor.enabled   
   
bool   
   
false   
   
Enable Promethes PodMonitor   
   
ixnVQNode.prometheus.podMonitor.targetLabels   
   
object   
   
{}   
   
Promethes PodMonitor target labels   
   
ixnVQNode.readinessProbe.failureThreshold   
   
int   
   
3   
   
Interaction Server VQ Node readiness probe failure threshold   
   
ixnVQNode.readinessProbe.initialDelaySeconds   
   
int   
   
15   
   
Interaction Server VQ Node readiness probe initial delay   
   
ixnVQNode.readinessProbe.periodSeconds   
   
int   
   
30   
   
Interaction Server VQ Node readiness probe check period   
   
ixnVQNode.readinessProbe.timeoutSeconds   
   
int   
   
3   
   
Interaction Server VQ Node readiness probe timeout   
   
ixnVQNode.resources.limits.cpu   
   
string   
   
"300m"   
   
Interaction Server VQ Node Kubernetes CPU limit   
   
ixnVQNode.resources.limits.memory   
   
string   
   
"160Mi"   
   
Interaction Server VQ Node Kubernetes memory limit   
   
ixnVQNode.resources.requests.cpu   
   
string   
   
"30m"   
   
Interaction Server VQ Node Kubernetes CPU request   
   
ixnVQNode.resources.requests.memory   
   
string   
   
"128Mi"   
   
Interaction Server VQ Node Kubernetes memory request   
   
ixnVQNode.securityContext   
   
object   
   
{}   
   
Security Context
   ref:Set the security context for a Container
   Containers should run as genesys user and cannot use elevated permissions
   !!! THESE OPTIONS SHOULD NOT BE CHANGED UNLESS INSTRUCTED BY GENESYS !!!   
   
ixnVQNode.serviceAccount.create   
   
bool   
   
true   
   
Create service account for Interaction Server VQ Node   
   
ixnVQNode.serviceAccount.name   
   
string   
   
nil   
   
The name of the ServiceAccount to use.
   If not set and create is true, a name is generated using the fullname   template   
   
ixnVQNode.volumeMounts   
   
object   
   
{}   
   
Volumes mounted into an Interaction Server VQ Node container   
   
podAnnotations   
   
object   
   
{}   
   
Add annotations to all pods   
   
podLabels   
   
object   
   
{}   
   
Add labels to all pods   
   
replicaCount   
   
int   
   
1   
   
Replica count. Applied to both Interaction Service and   Interaction Server VQ node pods.
   Can only be 1 or 0. Other values are not supported   
   
tenant.id   
   
string   
   
nil   
   
Tenant UUID or GWS ID   
   
tenant.sid   
   
string   
   
nil   
   
Tenant short 4-digit ID   

For information on Interaction Server options, refer to the Configuration Options Reference Manual.

Configuration Server settings

Ensure that IXN Server application in Configuration Server has correct health endpoint:

Applications - <ixn app name> - Options - [health-service] soap-endpoint = http://localhost:9100/health

Security Context

The security context settings define the privilege and access control settings for pods and containers.

By default, the user and group IDs are set in the values.yaml file as 500:500:500, meaning the genesys user. For example:
securityContext:
    runAsNonRoot: true
    runAsUser: 500
    runAsGroup: 500
    fsGroup: 500

Arbitrary UIDs in OpenShift

If you want to use arbitrary UIDs in your OpenShift deployment, you must override the securityContext settings in the values.yaml file, so that you do not define any specific IDs. For example:
securityContext:
    runAsNonRoot: true
    runAsUser: null
    runAsGroup: 0
    fsGroup: null
Retrieved from "https://all.docs.genesys.com/IXN/Current/IXNPEGuide/Configure (2023-02-03 03:11:52)"
Comments or questions about this documentation? Contact us for support!