Deployment over Kubernetes requires an assessment of the data center and existing services. Below are the main services:
Kubernetes
MySQL (or Postgres)
Object storage (S3)
DNS zone controller
ELK or EFK (logging, optional)
Redis (optional)
Prometheus (monitoring, optional)
The deployment is performed using Helm Charts or YAML.
Examples of Kubernetes used in previous deployments: OpenShift , MiniCube (for testing)
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.
Storage – 350 TB object storage. One camera with 1Mbps and 30 days retention is 0.33TB which results in ~ 350 TB. The storage server must support an object storage interface (S3).
Database – 2 core, 16GB RAM, 60GB storage. A database server must have an automatic backup.
Minimal datacenter requirements
Kubernetes - preferred Opinshift 1.28
Object storage - S3 compatible, like MINIO or Wasabi
Database - MySQL 5.7, 2 cores, 16GB
Two separate Virtual Machines - 2 cores, 16GB