Info |
---|
This topic is for a deployment in a Data Center, not on a rented Cloud infrastructure, like AWS. |
Deployment over Kubernetes requires an assessment of the data center and existing services. Below are the main services: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
ELK or EFK (logging)
Prometheus and Grafana (monitoring)
...
Examples of Kubernetes used in previous deployments: KubeSphere, EKS, OpenShift, K3S, and MiniCube (for testing).
Usual requirements
...
Kubernetes - preferred Opinshift 1.28
...
Object storage - S3 compatible, like MINIO
...
Database - preferred MySQL 5.7, minimum 2 cores, 16GB
...
Jump host (a separate VM) - 2 cores, 16GB
...
Configured DNS.
...
A pull of public IP addresses.
...
Mapping of public IP addresses/ports to local nodes IP addresses/ports,
...
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