Breadcrumbs

Expertflow CX Components Blueprint on Kubernetes

This page illustrates the Kubernetes objects and their corresponding implementation specifications for deploying the Expertflow CIM solution on customer infrastructure.

Supported Operating Systems

https://expertflow-docs.atlassian.net/wiki/plugins/servlet/confluence/placeholder/unknown-macro?name=includeplus&locale=en_GB&version=2

Kubernetes Distributions

https://expertflow-docs.atlassian.net/wiki/plugins/servlet/confluence/placeholder/unknown-macro?name=includeplus&locale=en_GB&version=2

Kubernetes Objects for Expertflow CIM Internal Components



Component

Type

Namespace

Deployment

ReplicaSet

Restart Policy

Volume Name

Mount-Point

Volume size

Container-Ports

Port-name

 Service

service-type

Service Ports

Config-Maps

Health

Ingress


Request

Limit

Calls (Internal - CIM)

Calls (External)

Called By

1

360-connector

deployment

expertflow

ef-360-connector

1

Always




8080

http-360c-8080

ef-360-connector-svc

Cluster-IP

8080

ef-connector360-cm


https://${FQDN}/360connector

CPUs


RAM

50m


64Mi

100m


128Mi

CCM, File-engine

360-Server


2

file-engine

deployment

expertflow

ef-file-engine

1

Always




8443

https-fi-m-8443

ef-file-engine-svc

Cluster-IP

8443

ef-file-engine-cm,

variables-common-

env-cm

curl -fsk https://localhost:8443/api/SystemInfo 

https://${FQDN}/file-engine

CPUs




RAM

250m




128Mi

500m




512Mi


Minio

360-Connector, Unified-Admin, Customer-Widget, Unified-Agent

3

ccm

deployment

expertflow

ef-ccm

1

Always




8081

http-ccm-8081

ef-ccm-svc

Cluster-IP

8081

ef-ccm-cm,

ef-connection-env-cm


https://${FQDN}/ccm

CPUs







RAM

50m







256Mi

100m







1Gi

CIM-Customer, Bot-framework, Connectors(Web, whatsapp ...)

ActiveMq, Redis, Mongo

360-Connector, Unified-Admin, Web-Channel-Manager, Agent-Manager, Customer-Widget, Twillio-Connector

4

bot-framework

deployment

expertflow

ef-bot-framework

1

Always




8082

http-bot-f-8082

ef-bot-framework-svc

Cluster-IP

8082

ef-bot-framwork-cm,

ef-connection-env-cm


https://${FQDN}/bot-framework

CPUs





RAM

50m





256M

100m





512Mi

Routing-engine

ActiveMQ, Redis, Mongo, Rasa-x

Routing-engine, CCM, Unified-admin, Agent-Manager, Unified-Agent

5

routing-engine

deployment

expertflow

ef-routing-engine

1

Always




8081

http-ro-en-8081

ef-routing-engine-svc

Cluster-IP

8081

ef-routing-engine-cm,

ef-connection-env-cm


https://${FQDN}/routing-engine

CPUs



RAM

200m



512Mi

500m



1Gi

Agent-manager, Bot-Framework

ActiveMq, Redis, Mongo

Bot-Framework, Unified-admin, Agent-Manager

6

cim-customer

deployment

expertflow

ef-cim-customer

1

Always




8080

http-ci-cu-8080

ef-cim-customer-svc

Cluster-IP

8080

ef-cim-customer-cm,

ef-connection-env-cm


https://${FQDN}/cim-customer

CPUs



RAM

50m



64Mi

100m



128Mi


Redis, Mongo

CCM, Agent-Manager, Unified-Agent

7

agent-manager

deployment

expertflow

ef-agent-manager

1

Always




3000

http-ag-ma-3000

ef-agent-manager-svc

Cluster-IP

3000

ef-agent-manager-cm,

ef-connection-env-cm


https://${FQDN}/agent-manager

CPUs



RAM

50m



256Mi

100m



512Mi

Bot-Framework, Routing-engine, Cim-Customer, Unified-Admin, CCM, License-Manager

ActiveMQ, Redis, Keycloak

Routing-engine, Unified-Agent

8

unified-admin

deployment

expertflow

ef-unified-admin

1

Always




3000

http-un-ad-3000

ef-unified-admin-svc

Cluster-IP

3000

ef-unified-admin-cm,

ef-connection-env-cm


https://${FQDN}/unified-admin

CPUs





RAM

50m





128Mi

100m





256Mi

Routing-Engine, CCM, Bot-Framework, License-Manager, Business-Calendar, File-Engine

Keycloak, Mongo, Redis

Agent-Manager

9

license-manager

deployment

expertflow

ef-license-manager

1

Always




8888

http-li-ma-8888

ef-license-manager-svc

Cluster-IP

8888

ef-licence-manager-cm,

ef-connection-env-cm


https://${FQDN}/license-manager

CPUs


RAM

50m


128Mi

100m


256Mi


Redis, Mongo

Unified-Admin, Agent-Manager

10

business-calendar

deployment

expertflow

ef-business-calendar

1

Always




8443

http-bu-ca-8443

ef-business-calender-svc

Cluster-IP

8443

ef-business-calender-cm


https://${FQDN}/business-calendar

CPUs


RAM

50m


128Mi

100m


256Mi



Unified-Admin

11

web-channel-manager

deployment

expertflow

ef-web-channel-manager

1

Always




7000

http-we-ch-7000

ef-web-channel-

manager-svc

Cluster-IP

7000

ef-web-channel-

manager-cm


https://${FQDN}/web-channel-manager

CPUs


RAM

50m


256Mi

100m


512Mi

CCM


Customer-Widget, CCM

12

customer-widget

deployment

expertflow

ef-customer-widget

1

Always




8080

http-cu-wi-8080

ef-customer-

widget-svc

Cluster-IP

8080

ef-customer-widget-cm


https://${FQDN}/customer-widget

CPUs


RAM

50m


64Mi

100m


128Mi

Web-Channel-Manager(Socket), CCM, File-Engine



13

twillio-connector

deployment

expertflow

ef-twillio-connecctor

1

Always




8085

http-tw-co-8085

ef-twilio-connector-svc

Cluster-IP

8085

ef-twilio-connector-cm


https://${FQDN}/twilio-connector

CPUs


RAM

50m


64Mi

100m


128Mi

CCM

Twillio Server


14

unified-agent

deployment

expertflow

ef-unified-agent

1

Always




80

http-un-ag-80

ef-unified-agent-svc

Cluster-IP

80

ef-unified-agent-cm 


https://${FQDN}/unified-agent

CPUs


RAM

50m


128Mi

100m


256Mi

Agent-Manager, File-Engine, Bot-Framework, Cim-Customer

Finesse


15

conversation-controller

deployment

expertflow

ef-conversation-controller

1

Always

ef-conversation-

controller-actions,

ef-conversation-

controller-pycache,

ef-conversation-

controller-utils

/app/actions,

/app/actions/__pycache__,

/app/actions/utils


5000

http-co-ct-5000

ef-conversation-

controller-svc

Cluster-IP

5000

ef-connection-env-cm,

ef-conversation-

controller-cm



CPUs


RAM

50m


128Mi

100m


256Mi




16

conversation-manager

deployment

expertflow

ef-conversation-manager

1

Always




8080

http-co-ma-8080

ef-conversation-manager-svc

Cluster-IP

8080

ef-connection-env-cm,

ef-conversation

-manager-cm


https://${FQDN}/conversation-manager

CPUs


RAM

50m


256Mi

100m


512Mi




17

facebook-connector

deployment

expertflow

ef-facebook-connector

1

Always




8080

http-fb-co-8080

ef-facebook-connector-svc

Cluster-IP

8080

ef-facebook-connector-cm


https://${FQDN}/facebook-connector

CPUs


RAM

50m


64Mi

100m


128Mi




18

realtime-reports

deployment

expertflow

ef-realtime-reports

1

Always




8080

http-re-rp-8080 

ef-realtime-reports-svc

Cluster-IP

8080

ef-connection-env-cm,

ef-realtime-reports-cm


https://${FQDN}/realtime-reports

CPUs


RAM

50m


128Mi

100m


256Mi




19

reporting-connector

deployment

expertflow

ef-reporting-connector

1

Always

config-volume-conf,

config-volume-cron

/root/config/reporting-connector.conf,

/etc/crontabs/root




ef-realtime-reports-svc

Cluster-IP

8080




CPUs


RAM

50m


64Mi

100m


256Mi




20

state-event-logger

deployment

expertflow

ef-state-events-logger

1

Always









ef-connection-env-cm, ef-state-events-logger-cm



CPUs


RAM

50m


128Mi

100m


256Mi




21

web-widget

deployment

expertflow

ef-web-widget

1

Always




80

http-we-wi-80

ef-web-widget-svc

Cluster-IP

8080



https://${FQDN}/web-widget

CPUs


RAM

50m64Mi

100m256Mi






Kubernetes Objects for Expertflow CIM External Components


Component

Type

Namespace

Deployment

ReplicaSet

Restart Policy

Volume size 

Mount-Point

Container-Ports

 Service Identifier

service-type

Service Ports

Config-Maps

Secret

Health

Ingress

Calls (Internal - CIM)

Calls (External)

Called By

1

minio

deployment

ef-external

minio

1

Always

8Gi

/data

9000

minio.ef-external.svc

Cluster-IP

9000








2

mongo

statefulset

ef-external

mongo-mongodb

1

Always

8Gi

/bitnami/mongodb

27017

mongo-mongodb.ef-external.svc

Cluster-IP

27017








3

activemq

statefulset

ef-external

ef-amq

1

Always

8Gi

/opt/activemq/data

8162, 61613-61617

ef-amq.ef-external.svc

Cluster-IP

8162, 61613-61617








4

redis

statefulset

ef-external

redis

1

Always

8Gi

/data

6379

redis-master.ef-external.svc

Cluster-IP

6379








5

keycloak

deployment

ef-external

keycloak

1

Always

8Gi


8080, 8443

keycloa

k.ef-external.svc

Cluster-IP

8080, 8443

ef-keycloak-config



https://${FQDN}/auth




6

grafana

deployment

ef-external

grafana

1

Always

4Gi

/var/lib/grafana

3000

grafana.ef-external.svc

Cluster-IP

3000

ef-grafana-ini-cm, ef-supervisor-dashboard-cm

ef-grafana-dashboard-provider-secret


https://${FQDN}/grafana




7

postgresql

statefulset

ef-external

ef-postgresql

1

Always

32Gi













8

superset

deployment

ef-external

superset

1

Always



8088,5432

superset.ef-external.svc

Cluster-IP

8088,5432








Storage class

A default Storage class of any of these providers can be provisioned for dynamic volume provisioning. 

  • Multi-node on-prem setup

    • Longhorn by Rancher ( supported, tested to work )

    • GlusterFS ( supported, not tested  )

    • NFS ( supported, not tested)

    • openEBS ( supported, not tested )


  • For cloud based storage

    • AWS 

    • GCE


  • Single-Node Deploymenthostpath ( suitable for single node deployment only )


  • Any other K8s compatible storage solution for dynamic volume provisioning may be used e.g., Rook-Ceph. 

Ingress 


Ingress Controller

POC

ingress-nginx

comaptible

Traefik

comaptible


Load Balancer

A VRRP based IP Transition is supported by using metallb as load-balancer for on-prem deployments. 

Load Balancer

Compatible

metalLB

comaptible


For K3s Based cluster, the Load-Balancer is not required as all the nodes in the cluster are exposed to the network and can be used for FQDN to IP Mapping.

Geographically  Federated Cluster


Please refer to this link for a cluster spanning geographically spanned architecture.

https://kubernetes.io/docs/setup/best-practices/

https://kubernetes.io/blog/2016/10/globally-distributed-services-kubernetes-cluster-federation/

https://kubernetes.io/docs/setup/best-practices/cluster-large/

https://kubernetes.io/docs/setup/best-practices/node-conformance/