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:
CPU requests 1970 milliCore approximately
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.
Backup operations include -> Metadata snapshot, Quiesce (optional), Unquiesce (optional), Data Upload, Metadata upload, Retention (optional), Backup Cleaner (optional)
Restore operations include -> Restore Validation, Data Restore, Restore Metadata, Unquiesce (optional)
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:
CPU request of 500 milliCore approximately
Memory requests of 4000 Mi approximately