- Overview
- Requirements
- Kubernetes cluster and nodes
- Proxy
- SQL database
- Caching
- Storage
- Certificate requirements
- Installation
- Post-installation
- Migration and upgrade
- Upgrading Automation Suite on EKS/AKS
- Step 1: Moving the Identity organization data from standalone to Automation Suite
- Step 2: Restoring the standalone product database
- Step 3: Backing up the platform database in Automation Suite
- Step 4: Merging organizations in Automation Suite
- Step 5: Updating the migrated product connection strings
- Step 6: Migrating standalone Orchestrator
- Step 7: Migrating standalone Insights
- Step 8: Deleting the default tenant
- B) Single tenant migration
- Migrating from Automation Suite on Linux to Automation Suite on EKS/AKS
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Troubleshooting
- The backup setup does not work due to a failure to connect to Azure Government
- Pods in the uipath namespace stuck when enabling custom node taints
- Unable to launch Automation Hub and Apps with proxy setup
- Pods cannot communicate with FQDN in a proxy environment
- Test Automation SQL connection string is ignored
Automation Suite on EKS/AKS Installation Guide
Kubernetes cluster and nodes
You can bring your own Kubernetes cluster from Azure or AWS and follow your standard practices to provision and manage it. Automation Suite requires a dedicated cluster with cluster admin privileges because it deploys the entire UiPath® business platform, and it comprises many UiPath® products that include many micro-services.
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
.
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.
- Dedicated cluster
- 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
- Node scheduling