Deployment over Kubernetes requires an assessment of the data center and existing services. Below are the main services:
...
Kubernetes
...
MySQL (or Postgres)
...
Info |
---|
This topic is for a deployment in a Data Center, not on a rented Cloud infrastructure, like AWS. |
The VMS and the Storage will be deployed in a Data Center over a computing cluster to make all operations fully scalable and highly available. The following services should be supported by the Data Center.
Mandatory:
Kubernetes
Object storage (S3 compatible)
Optional:
Managed Database (MySQL or Postgres)
DNS zone controller (optional)
ELK or EFK (logging, optional)
Prometheus and Grafana (monitoring, optional)
The deployment is performed using Helm Charts.
Examples of Kubernetes used in previous deployments: KubeSphere, EKS, OpenShift, K3S, and MiniCube (for testing).
Minimal datacenter requirements
Kubernetes - preferred Opinshift 1.28
Object storage - S3 compatible, like MINIO
Database - preferred MySQL 5.7, minimum 2 cores, 16GB
Separate VM (Jump host) - minimum 2 cores, 16GB
Hardware requirements for 1,000 ONVIF cameras
...
Computing and virtualization - 20 instances with 2 vCPU, 8GB each. It means we need a minimum of 40 threads = 20 cores with 160 GB of memory. It could be, for example, 1 Xeon with 28 cores (56 threads) and 256 GB. The overhead is for running Kubernetes.
...
VMS
The VMS is a set of micro-services deployed over Kubernetes. Kubernetes must be installed before the deployment of the VMS. Below are the micro-services and required resources.
Main micro-services and resources
Service | Cameras | VCPU | Memory | HDD (Gb) |
Hosting | 160 | 2 | 12 | 10 |
Web | 2000 | 2 | 6 | 10 |
Control | 4000 | 2 | 8 | 10 |
Media | 300 | 2 | 8 | 24 |
CM | 500 | 2 | 4 | 10 |
WebRTC | 2000 | 2 | 8 | 10 |
Vertically scaling services
Service | Cameras | VCPU | Memory | HDD (Gb) |
SQL DB Cluster | 2500 | 2 | 8 | 250 |
ELK Cluster | 2500 | 1 | 8 | 500 |
Turn Server | 5000 | 2 | 8 | 10 |
Backend/Postgres DB | 10000 | 2 | 8 | 10 |
Resources for 1,000 cameras
The estimate includes a 30% overhead on virtualization:
51 VCPU
232 GB RAM
1282 GB HDD
Example of a server: Xeon Skylake with 28 cores, 56 threads, and 256 GB RAM
Storage
The storage requires S3 compatible Object Storage.
Object storage
Below are some object storage options:
Storage server, like DELL ECS EX500 series.
NAS storage, like QNAP.
General-purpose storage servers like Supermicro, Dell, or HP with object storage software such as minio, Ceph, or others.
Another source of hardware examples https://www.45drives.com/products/storinator-model-details.php
Resources for 1,000 cameras
One camera with 1Mbps and 30 days
...
of retention will use approximately 350 GB of object storage. For 1,000 cameras we’ll need a storage with 350 TB capacity.
Add label