System requirements | On‑Premise | 2GIS Documentation
On‑Premise

System requirements

Example of On-Premise hosts architecture:

Hosts architecture
  • Operating system on hosts:

    • Ubuntu 20.04 LTS, 22.04 LTS
    • Oracle Linux 8
    • Astra Linux "Oryol"
    • ALT Linux 10
  • General-purpose software:

    • Kubernetes: from 1.21 to 1.29
    • Docker Engine: 20.10.* or later
    • Docker Registry: 2.* or later
  • Data storage software required for some On-Premise services (see the list of data storage for services):

    • S3 compatible storage: e.g., Ceph: 14.2.22
    • PostgreSQL: 14.*
    • PostgreSQL extensions: PostGIS 3.3, JsQuery 1.*, PL/pgSQL 1.*, pg_trgm 1.4
    • Apache Kafka: 3.0.*
    • Apache Cassandra: 4.*
    • Elasticsearch: 7.*
    • Redis: 6.* (stable release)
    • Apache ZooKeeper: 3.6.3
  • Storage size:

    • Docker Registry: depends on the number of installed services and the rotation rules for older versions.
    • S3 compatible storage: e.g., Ceph: depends on the size of the territory that the system should cover. The basic value is 400 GB.
    • PostgreSQL: depends on the size of the territory that the system should cover.
    • Apache Cassandra: depends on the size of the territory that the system should cover.

The performance requirements for the On-Premise system are specified in the Helm charts. To check resources amount for each service, go to a corresponding folder in the GitHub repository, open the values.yaml file, and find the resources settings.

To ensure that Pods are placed on the nodes of the Kubernetes cluster, it is recommended to specify resources for all the components. Learn more about Resource Management for Pods and Containers in Kubernetes.

Code Example

resources:
    requests:
        cpu: 10m
        memory: 32Mi
    limits:
        cpu: 500m
        memory: 256Mi

Where:

  • requests: the minimum amount of resources required to run the service.
  • limits: the maximum amount of resources that can be allocated to run the service.
  • cpu: the number of cores. If the value is specified as Xm, it is converted to millicores.
  • memory: the amount of RAM in mebibytes (Mi).

Important Note:

The system requirements mentioned above are approximate, provided for informational purposes, and intended for test deployments.

When planning the installation, please contact Urbi to obtain calculations suitable for your environments and needs.