Skip to main content
Skip table of contents

Deployment Planning

Expertflow CX may be deployed on-prem, in a cloud, or in a hybrid mode. The solution consists of various components that may be installed on-demand. See Kubernetes Distributions for all the Kubernetes environments that Expertflow team has tried in the past.

Expertflow CX requires a Kubernetes distribution for most of its core solution components. You may use any of the CNCF certified Kubernetes distributions. Expertflow team uses and recommends RKE2. To setup RKE for CX, seeRKE2 Control plane Deployment

Expertflow CX product releases are tested on RKE2 unless mentioned otherwise in a release documentation. To learn more about Kubernetes, read this article from Google.

As a deployment engineer you are expected to have an intermediate knowledge of Linux and Kubernetes for Expertflow CX deployment on Kubernetes.

Choose a Cloud Instance

To choose a cloud instance, select the appropriate VM from your cloud provider’s options to cater the load for the CX solution. A detailed guide is available at HW sizing guide

Choose a high availability deployment mode

A Kubernetes deployment requires one or multiple Worker nodes and one or more Control Plane nodes. For more about Kubernetes components including Control Plane, see Kubernetes Components.

Worker HA

Control Plane HA

HA Mode

This Kubernetes deployment requires a single control node while workload is distributed across multiple worker nodes across sites. The solution continues to work even if the Control Plane is down. However, Control Plane functions such as creation of new workload rescheduling of existing workload cannot be performed during the outage of the Control Plane. 

This is the High Availability Kubernetes Cluster deployment with three control plane nodes and 2 or more worker nodes.

Prerequisites

  • At least three nodes (typically virtual machines) - one for Control Plane and two or more for worker nodes that meet minimum requirements for a node.

  • Full network connectivity between all nodes

  • At least five nodes (typically virtual machines) - three for Control Plane and two or more for worker nodes that meet minimum requirements for a node.

  • Full network connectivity between all machines in the cluster (public or private network)

Suitable when

  • Only two physical sites are available in the infrastructure for the Kubernetes deployment.

  • MySQL cluster is not available in the customer infrastructure that this Kubernetes deployment may use for its state management.

  • High availability of workload is needed

  • A temporary outage High availability of control plane is not needed.

  • Three sites are available for the cluster deployment. In addition to a primary and a secondary site, a third site for Control Plane is required to complete the quorum.

  • Site level redundancy is needed.

Recommendations

  • Provide a cloud-native storage such as NFS, VSAN, or any CNCF certified cloud-native storage accessible at both sites.

  • Do a snapshot backup of the Control Plane to a neutral S3 compatible storage. In case of the failure of the site hosting Control Plane node, a restore of Control Plane node may be performed. 

  • Provide a cloud-native storage such as NFS, VSAN, or any CNCF certified cloud-native storage accessible at both sites.

Limitations

  • In the case of the Control Plane failure to auto-restart manual intervention to fix/restart/restore the Control Plane may be needed. 

  • If a site hosting Control Plane and one or more Worker nodes is down then the solution may be partially or completely down.  

  • rescheduling of the worker node cannot be done until Control Plane node is up again. 

  • Out of three control plane nodes, at least two nodes must always be up and connected for the cluster to function.

Deployment Guide

Worker HA

Control Plane HA

In some cases you might need multiple clusters running on multiple sites and synced to each other. This is called Multi-cluster (aka Geo-cluster). For more on this deployment mode see https://www.qovery.com/blog/kubernetes-multi-cluster-why-and-when-to-use-them. For a multi-cluster deployment, see Geographical Deployment of Expertflow CX with Redundancy

Choose a storage solution

For a Kubernetes deployment, storage plays a vital role for the management of application state. See Storage Solution - Getting Started for choosing the right storage solution for your Kubernetes deployment.

Deploy Expertflow CX

Once Kubernetes environment is ready, you can proceed to deploy Expertflow CX.

  1. For a single cluster deployment, see CX Deployment on Kubernetes

  2. For a multi-cluster (geo-cluster) deployment, see Geographical Deployment of Expertflow CX with Redundancy

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.