Requirements
The main pre-requisite is a working, well-prepared Kubernetes environment. As not all companies run a Kubernetes requirement yet, we are providing some links to websites that explain in detail what Kubernetes is, and what is required to set up, run and maintain a k8s environment: https://kubernetes.io/docs/setup/production-environment/
Kubernetes can be run on-premises or used as a cloud service, e.g., provided by Google, AWS, or Azure.
There are also tools for managing Kubernetes clusters, like Rancher and RedHat OpenShift. For further information, please see here:
To deploy RedactManager, the k8s cluster should be able to retrieve the Docker images of our services from our Docker registry: docker.knecon.com (port 443)
The operator also needs a Linux computer with the following command-line interfaces:
And, of course, that computer needs to be able to access the following destinations:
Kubernetes cluster (see Kubernetes Permissions for the permissions)
helm.knecon.com (port 443)
RedactManager requires resources like processing power (CPU) and available memory on the Kubernetes cluster. The application also requires external resources such as hostnames (FQDNs, fully qualified domain names), networking and routing, and TLS certificates to encrypt the communication.
Please find below the minimum requirements for installing RedactManager:
K8s version | Resources | Storage | External resources |
---|---|---|---|
1.27.x or newer 3 cluster nodes (for HA*) | 20 vCPU 60 GB RAM | Databases 3 databases in a PostgreSQL DBMS
Either provide storage as available space on the k8s cluster for Persistent Volumes (PVs) or provide access to 3 external databases. If run in a cloud environment, the cloud providers also provide PostgreSQL services, e.g. Azure Database for PostgreSQL, Amazon RDS for PostgreSQL, or Amazon Aurora. Index In case of a local deployment, you can use the integrated Elasticsearch cluster that requires 5 PVs: 3x 5 GB available space for PVs In case of a cloud deployment, you can consider using the managed Elastic Cloud that is available via https://www.elastic.co/ or the cloud provider marketplaces. | 1 FQDN/DNS entry and 1 TLS certificate |
K8s version | Resources | Storage | External resources | |||
---|---|---|---|---|---|---|
1.27.x or newer 4 cluster nodes or more (for HA and load distribution) | 30 vCPU 180 GB RAM | Databases
File Storage 4x 200 GB available space for PVs or 400 GB cloud storage Index 5x 20 GB available space for PVs or 3 Elastic Cloud data nodes with 20+ GB | 1 FQDN/DNS entry and 1 TLS certificate |
More resources allow for a higher processing throughput (more parallel processing), more simultaneous users, and the processing of more data. As a rule of thumb, you can calculate the required file storage space by multiplying the uploaded data by four.
A minimum production system can handle at least 5 simultaneous users (i.e., users processing files simultaneously, 100+ users in total) and 100 GB of uploaded PDF files. However, we recommend monitoring the production environment to determine the actual scaling requirements.
* High availability (HA) approach: If one node fails, the others can handle its tasks.