Resource Request Requirements

This page provides resource requirements for Trilio for Kubernetes pods

Trilio Pods and CPU/Memory requirements

The table below provides resource related information for Trilio for Kubernetes pods.

The information contained herein can be leveraged to assign Resource Quotas and Limit Ranges for namespaces and resources within namespaces.

Pod Name

CPU request (milliCore)

Memory request

  • Target Validator

  • Metadata Snapshot

  • Quiesce

  • Unquiesce

  • Metadata Upload

  • Retention

  • Restore Validation

  • Restore Metadata

  • Backup Cleaner

100

500 Mi

  • Datamover Upload

  • Datamover Restore

  • Target Browser

100

800 Mi

  • Dex

  • Web

  • Ingress-controller

  • Backup CronJob

10

10 Mi

  • Webhook

700

512Mi

  • Exporter

50

512Mi

  • Resource Cleaner

400

512Mi

  • Web-backend

400

1024 Mi

  • Control-plane

400

512 Mi

Pods in bold run continuously. Other pods only run, and not in parallel, when a backup or restore operation is triggered.

Target Browser pod will run as long as a target browsing feature is enabled.

Continuous Restore

When Continuous restore is enabled, following services pod will run forever

Pod Name

CPU request (milliCore)

Memory request

  • Continuous restore Syncer

  • Continuous restore Manager

  • Continuous restore Watcher

  • Continuous restore Service

500Mi

When Continuous restore is enabled and consistentSet is getting created, then following services pod will run (not forever. Only till the job is done)

Pod Name

CPU request (milliCore)

Memory request

  • Continuous restore PreconsistentSetJob

100

500Mi

  • Continuous restore Data Restore

100

800Mi

Estimating Memory and CPU requirements for Trilio

The overall resource requirements of Trilio for Kubernetes will be dependent on the resources of the control plane pods and along with that dependent on the number of data protection and data management activities that are being performed. For example, a Kubernetes cluster with 10 backupPlans may need more resources if all backupPlans are configured to trigger the backup at the same time, compared to a Kubernetes cluster with 15 BackupPlans configured to be triggered at staggered intervals.

Control Plane

At the control plane level, Trilio uses the following pods: webhook, control-plane, exporter, web, web-backend, and ingress controller. Based on the table above, the following requirements can be calculated:

  1. CPU requests 1970 milliCore approximately

  2. Memory requests 3092 Mi approximately

Data Plane

Depending on the number of backup, restore and target operations happening concurrently and the overall features those operations use, the CPU and memory requirements can be calculated at the data plane level.

  1. Backup operations include -> Metadata snapshot, Quiesce (optional), Unquiesce (optional), Data Upload, Metadata upload, Retention (optional), Backup Cleaner (optional)

  2. Restore operations include -> Restore Validation, Data Restore, Restore Metadata, Unquiesce (optional)

  3. Target Operations include -> Target Validator, Target Browsing (Optional)

Adding up the resources requirements for the different phases for a particular operation will provide the requirements for the entire backup or restore operation.

Every phase will consume different amount of resources, they are not running in paralell. As one task is completed, those resources will be freed up, and the next task will do some CPU and RAM requests.

Maximum Resource Requirements

In order to estimate the maximum memory and CPU that could be utilized by Trilio, the biggest pods need to be evaluated running in parallel. For 5 concurrent backups and restores with one PVC/PV each, the maximum amount of CPU and Memory required would be dictated by the Datamover pods running in parallel. Based on the table above, the following can be calculated:

  1. CPU request of 500 milliCore approximately

  2. Memory requests of 4000 Mi approximately