Distributred Server Pre-requisites
Please make sure you have the following set up and configured before proceeeding with Quantotto deployment on Kubernetes.
Kubernetes Cluster
Kubernetes Cluster should be up and running. Minimal Hardware requirements:
- At least 2 CPUs (4 CPUs recommended)
- At least 6 GB of RAM (3x # of CPUs recommended)
- At least 300 GB of disk space
NOTE:
Hardware requirements will change as you add more devices, configure more scenarios, retain more data.
Storage Configuration
Kubernetes Cluster should have storage / Persistent Volumes provisioned prior to Server deployment.
To help you better prepare, here we list all the Persistent Volume Claims that Quantotto deployment will be creating.
Size and storage class can be further adjusted during Configure and Deploy step.
Volume Name | Access Mode | Size | Purpose |
---|---|---|---|
mongodb | ReadWriteOnce | 256 Gi | Frames data storage |
influxdb | ReadWriteOnce | 32 Gi | Frames metadata and events data |
qdb | ReadWriteOnce | 16 Gi | Management DB |
openldap | ReadWriteOnce | 4 Gi | Internal LDAP server |
neo4j | ReadWriteOnce | 4 Gi | Neo4j Graph Data for Scenario Flows |
redis | ReadWriteOnce | 4 Gi | Redis state management for Frame Pipeline |
training | ReadWriteOnce | 64 Gi | Storage for models training data |
packages | ReadWriteOnce | 4 Gi | Storage for custom Quantotto plugins |
faces-archive | ReadWriteOnce | 16 Gi | Recognized faced archive |
ftp | ReadWriteOnce | 4 Gi | FTP video / frames uploading |
Deployment Workstation
- Ubuntu Server 16.04+ (20.04 recommended) with Internet connection
- Python 3.6+ (20.04 comes with 3.8.5)
- docker (
sudo apt-get -yy install docker.io
); refer to https://www.docker.com for more detailed instructions (including post-installation steps) - kubectl configured to administer your Kubernetes cluster
- helm 3+
- helmfile: download helmfile_linux_amd64 for Ubuntu and make sure to copy it as
helmfile
into one of the $PATH directories and assign exec permissionschmod ugo+x /path/to/helmfile
For secrets encryption:
- helm secrets plugin (
helm plugin install https://github.com/jkroepke/helm-secrets --version v3.4.0
) - (sops)[https://github.com/mozilla/sops/releases/download/v3.6.1/sops_3.6.1_amd64.deb]: install with
dpkg -i sops_3.6.1_amd64.deb
- GnuPG (
sudo apt-get install gnupg
)