- Overview
- Requirements
- Pre-installation
- Installation
- Post-installation
- Migration and upgrade
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Troubleshooting
Automation Suite on EKS/AKS Installation Guide
Kubernetes cluster and nodes
You can bring your own Kubernetes cluster and follow your standard practices to provision and manage it.
If you grant the Automation Suite installer admin privileges, UiPath® installs and manages all the necessary components for running Automation Suite. However, if you cannot grant the installer admin privileges on the cluster, the installation of some required components is impossible. Therefore, before installing Automation Suite on a cluster where you did not grant the installer admin privileges, an admin user must install specific required components separately, before the Automation Suite platform installation. After installing the required components, you can execute the installer with lower permissions. For the list of required permissions, see Granting installation permissions.
Each Automation Suite Long-Term Support release comes with a compatibility matrix. For compatible EKS or AKS versions, see Compatibility matrix.
We tested Automation Suite compatibility with the following Linux OSes:
Cloud provider |
OS |
---|---|
AKS |
|
EKS |
|
To estimate node capacity based on your product and scale requirements, use the UiPath Automation Suite Install Sizing Calculator.
The root volume requirement for agent (worker) nodes is 256 GB.
At a minimum, to start with the mandatory platform services (Identity, licensing, and routing) and Orchestrator, you must provision 8 vCPU and 16 GB RAM per node.
We do not recommend using spot instances in Automation Suite in production scenarios, due to stability and performance issues.
You must disable swap memory before installing Automation Suite. Swap memory is known to cause issues with container workloads. Additionally, Automation Suite workloads do not benefit from using swap memory, and Kubernetes already optimizes memory usage.
We recommend enabling autoscaling on your cluster to ensure high reliability and to avoid business interruptions.
If you install Task Mining, you must provision additional worker node(s) with 20 vCPU and 60 GB RAM. This node must be tainted to ensure only Task Mining workloads run on it. For details, see the Node scheduling section.
Automation Suite Robots require additional worker node(s).
The hardware requirements for the Automation Suite Robots node depend on the way you plan to use your resources. In addition to the additional agent node requirements, you also need a minimum of 10 GiB to enable package caching.
For details, see Storage documentation.
The following sections describe the factors that impact the amount of hardware the Automation Suite Robots node requires.
The following table describes the required CPU, memory, and storage for all robot sizes.
Size |
CPU |
Memory |
Storage |
---|---|---|---|
Small |
0.5 |
1 GiB |
1 GiB |
Standard |
1 |
2 GiB |
2 GiB |
Medium |
2 |
4 GiB |
4 GiB |
Large |
6 |
10 GiB |
10 GiB |
The resources of the Automation Suite Robots agent node have an impact on the number of jobs that can be run concurrently. The reason is that the number of CPU cores and the amount of RAM capacity are divided by the CPU/memory requirements of the job.
For example, a node with 16 CPUs and 32 GiB of RAM would be able to run any of the following:
- 32 Small jobs
- 16 Standard jobs
- 8 Medium jobs
- 2 Large jobs
Job sizes can be mixed, so at any given moment, the same node could run a combination of jobs, such as the following:
- 10 Small jobs (consuming 5 CPUs and 10 GiB of memory)
- 4 Standard jobs (consuming 4 CPUs and 8 GiB of memory)
- 3 Medium jobs (consuming 6 CPUs and 12 GiB of memory)
Given that the node is part of a Kubernetes cluster, the Kubernetes agent present on the server (kubelet) consumes a small amount of resources. Based on our measurements, the kubelet consumes the following resources:
- 0.6 CPU
- 0.4 GiB RAM
A node similar to the one previously described would actually have approximately 15.4 CPUs and 31.6 GiB of RAM.
All your cross-platform processes have the Automation Suite Robots option set to Automatic by default. This setting selects the appropriate machine size for running the process using serverless robots.
When automatically choosing the size, the criteria listed in the below table are evaluated in order. As soon as one criterion is satisfied, the corresponding machine size is chosen and the remaining criteria are not evaluated.
Order |
Criterion |
Machine size |
---|---|---|
1 |
Remote debugging job |
Medium |
2 |
Process depends on UI Automation OR Process depends on the UiPath Document Understanding activities |
Standard |
3 |
Other unattended process |
Small |
For increased performance, you can install Document Understanding on an additional agent node with GPU support. Note, however, that Document Understanding is fully functional without the GPU node. Actually, Document Understanding uses CPU VMs for all its extraction and classification tasks, while for OCR we strongly recommend the usage of a GPU VM.
For more details about the CPU/GPU usage within the Document Understanding framework, refer to CPU and GPU Usage.
If you want to use an additional node with GPU support, you must meet the following requirements:
Hardware |
Minimum requirement |
---|---|
Processor |
8 (v-)CPU/cores |
RAM |
52 GiB |
Cluster binaries and state disk |
256 GiB SSD Min IOPS: 1100 |
Data disk |
N/A |
GPU RAM |
11 GiB |
--node-taints
nvidia.com/gpu=present:NoSchedule
instead of --node-taints
sku=gpu:NoSchedule
.
Automation Suite supports NVIDIA GPUs. To learn about how to configure NVDIA GPUs (such as drivers), please refer to the respective docs from Azure or AWS.
For optimal performance, a minimum of 5 GPUs is required for Document Understanding modern projects. The example scenario in the following table demonstrates how 5 GPUs is enough to process 300 pages.
Function | Number |
---|---|
Custom model pages processed per hour | 300 |
Out of the box model pages processed per hour | 0 |
Models training in parallel | 1 |
Number of pages in all projects - Design time | 200 |
Number of document types per project version | 3 |
The 5 GPUs are distributed amongst different functions, as detailed in the following table:
Service | Number of GPUs |
---|---|
OCR replicas | 1 |
Custom model training replicas | 1 |
Custom model replicas | 2 |
Out of the box model replicas | 1 |
Total | 5 |
For more information on how to allocate GPUs to each service, check the Allocating GPU resources for Document Understanding modern projects page.
In addition to the GPU demands, Document Understanding modern projects also require specific CPU resources for optimal performance. For optimal performance, a minimum of 18 vCPUs is required.
objectstore
is required to perform the activities from the
above examples continuously for one year. You can start with a smaller number, but
the activity will fail once the storage is complete, unless you explicitly scale
it.
If you are provisioning for one year of continuous processing, you will need 4 TiB for Document Understanding modern projects and 512 GiB for the other products. The total will be 4.5 TiB of storage. Similarly, if you start with six months of processing, you will need 2 TiB for Document Understanding modern projects and 512 GiB for the other products. In this case the total will be 2.5 TiB.
We recommend enabling node taints on dedicated worker nodes for Task Mining, Automation Suite Robots, and Document Understanding.
AI Center and DU example:
-
For CPU:
kubectl taint node <node_name> aic.ml/cpu=present:NoSchedule
kubectl taint node <node_name> aic.ml/cpu=present:NoSchedule
-
For GPU:
kubectl taint node <node_name> nvidia.com/gpu=present:NoSchedule
kubectl taint node <node_name> nvidia.com/gpu=present:NoSchedule
Task Mining example:
kubectl taint node <node_name> task.mining/cpu=present:NoSchedule
kubectl taint node <node_name> task.mining/cpu=present:NoSchedule
Automation Suite Robots example:
kubectl taint node <node_name> serverless.robot=present:NoSchedule
kubectl taint node <node_name> serverless.robot=present:NoSchedule
If you have custom node taints that are enforced by Gatekeeper Policy, such as specific roles for worker nodes or labels, they will not be passed to Automation Suite and may interrupt the installation process.
To learn about taints and tolerations, see Kubernetes documentation.
- Cluster and permissions
- Supported EKS/AKS versions
- Node capacity
- Swap memory
- Autoscaling
- Additional Task Mining requirements
- Additional Automation Suite Robots requirements
- Robot size
- Agent node size
- Kubernetes resource consumption
- Automatic machine size selection
- Additional Document Understanding recommendations
- Additional Document Understanding modern projects requirements
- Node scheduling