automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white
Automation Suite on Linux Installation Guide
Last updated Nov 21, 2024

Step 16: Validating the prerequisites for the installation

Before starting the prerequisite validation, make sure you have downloaded the uipathctl installer to the /opt/UiPathAutomationSuite/<version> folder on all the machines, generated the cluster_config.json file, and copied the configuration file to all the machines. For instructions, see Downloading the installation packages and Generating cluster_config.json.

Overview

Before installing Automation Suite, it is good practice to validate the installation prerequisites and infrastructure readiness. You can use uipathctl to evaluate your environment and generate a summary before performing the installation. You can use the --verbose flag if you want to access the detailed prerequisites check output or you can skip this flag for a more concise and simplified output.

The validation of prerequisites for installing Automation Suite involves two steps:

  1. The first step uses uipathctl to evaluate the installation prerequisites for Kubernetes in your environment.
  2. The second step involves a detailed check of the prerequisites required by the shared components installation.

The following table lists all the prerequisite checks required for the Kubernetes installation.

Validation

Description

Hardware requirements

Validates that each machine in the cluster meets the hardware requirements. The check takes into account the following aspects:

  • server, agent, or tainted node;
  • online or offline system;
  • single-node evaluation profile or multi-node HA-ready production profile.
  • swap memory is disabled.

Disk partitioning and configuration

Validates that you properly partitioned and configured the disk. The check takes into account the following aspects:

  • server or agent node;
  • online or offline system;
  • primary or secondary server node.

SQL Server connectivity

Validates the connectivity to the configured SQL Server and database. The check takes into account the following aspects:

  • connectivity to the SQL Server host (endpoint) on a given endpoint;
  • connectivity to the principal database if create_db is set to true;
  • create database (dbcreator) permissions if create_db is set to true;
  • create schema (db_ddladmin), read (db_datareader), and write (db_datawriter) permissions;
  • connectivity to the database when create_db is set to false;
  • special requirements for each service. For instance, for Insights, the script checks the columnstore index, json support, and whether SQL Server compatibility level is >= 130;
  • connectivity to the database and SQL Server with integrated authentication.

Server certificate

Checks that the server certificate you provided is valid. The check takes into account the following aspects:

  • the certificate file format is .pem, i.e. Base64-encoded DER certificate;
  • the private key length is at least 2048;
  • Extended Key Usage and TLS Web Server Authentication, required for accessing Automation Suite on iOS devices;
  • Subject Alternative Name for all the required DNS entries;
  • server certificate and private key match;
  • the CA bundle you provided is actually the issuer of the server certificate;
  • the certificate validity is more than 30 days;
  • the certificate is compliant on FIPS-enabled machines.

Token-signing certificate

Checks that the token-signing certificate you provided is valid. The check takes into account the following aspects:

  • the certificate is in pfx format;
  • the password for decrypting the certificate is valid;
  • the certificate validity is more than 30 days;
  • the certificate is compliant on FIPS-enabled machines.

Proxy

Validates that you properly configure the proxy. The check takes into account the following aspects:

  • https_proxy, http_proxy, and no_proxy are set as environment variables on the machine;
  • the proxy server is reachable.

Connectivity

Validates that all machines can connect to each other, that all the required URLs are on the firewall allowlist, and more. The check takes into account the following aspects:

  • the FQDN of Automation Suite and the FQDN of all the other subdomains are resolvable from the machine;
  • in an online setup, all the external URLs are reachable from the machine;
  • all servers, agents, and tainted nodes can connect to each other on the required ports;
  • the outbound connections (URLs) are resolvable via all the nameservers present in /etc/resolve.conf;
  • if any of the URLs is not resolvable via all the nameservers, then at least one nameserver can resolve all the URLs;
  • either the TCP or UDP protocol is allowed;
  • fixed_rke_address is set to port 9345 and 6443;
  • proper Redis connectivy for the provided configuration: hostname and port, credentials, and TLS configuration;
  • a response is issued when a call is made to the FQDN on port 443.

System services

Validates that system services are properly configured. The check takes into account the following aspects:

  • nm-cloud-setup.service, nm-cloud-setup.timer, firewalld are disabled;
  • iscsi-initiator-utils is installed and enabled;
  • auditd is properly configured for --backlog_wait_time set as 1;
  • logrotate is properly configured;
  • net.ipv4.conf.all.rp_filter is disabled (set to 0).

Software requirements

Validates that all the required software is installed. If some software is not installed, the install-uipath.sh installer attempts to install it.

Upgrade

Validates if the upgrade path across Automation Suite versions is correct.

In addition to the prerequisite checks required for the Kubernetes installation, the shared components installation requires specific prerequisite checks, as listed in the following table:

Check

Description

SQL Connection

Validates that Automation Suite can successfully connect to SQL server for UiPath® products and shared services (such as Identity, Portal, Org Management, etc.) using the SQL connection strings provided in cluster_config.json. This is mandatory for a successful installation.

SQL DB roles

Validates the necessary roles and permissions required by UiPath® products. This is mandatory for a successful installation.

SQL DB compatibility

Validates SQL DB compatibility requirements.

FQDN resolution

Validates that the FQDN and the sub-domains are successfully resolvable.

Object Storage API

Validates that objectstore APIs are accessible based on access information provided in cluster_config.json. This is mandatory for a successful installation of UiPath® Services.

Cache / Redis

Validates the connection to Cloud Redis or ElastiCache. This is mandatory for a successful installation.

Capacity

Validates you have minimum worker nodes' CPU and RAM capacity based on products enabled in cluster_config.json.

Storage Class

Validates that the storage classes for File Storage are configured as required for Automation Suite Robots.

Optional Components

Validates that your cluster has components that you chose to exclude from the Automation Suite installation.

Ingress

Validates that the cluster ingress is configured correctly and the FQDN URL requests can reach UiPath® products.

Network Policies

Checks if network policies configured in Automation Suite are compatible with the cluster.

Registry

Validates that Automation Suite can access the UiPath® docker registry. This is mandatory for a successful installation.

Cluster Connectivity

Validates whether the cluster communication is configured properly:

  • Between two random pods completed

  • Between pod to a multinode ClusterIP

  • Between pod to a multinode ClusterIP without a clusterIP

  • Between pod to a multinode ClusterIP using HostNetwork

  • Between pod to a multinode ClusterIP without a clusterIP set using HostNetwork

  • Between two pods colocated on the same node via ClusterIP

Validating the machines for the installation

To validate your machines, follow these steps:

  1. Make sure that the RPM packages are installed and validated. For details, see Validating and installing the required RPM packages.
  2. To validate the prerequisite checks for Kubernetes installation, run the following command from your installer folder (such as /opt/UiPathAutomationSuite/<version>/installer) on each node:
    ./bin/uipathctl rke2 prereq run cluster_config.json
        --node-type server \ #replace with the agent while validating the agent machine. 
        --machines "10.0.1.8, 10.0.1.9" #replace with actual machine IPs of all the nodes in the cluster 
        --versions versions/helm-charts.json./bin/uipathctl rke2 prereq run cluster_config.json
        --node-type server \ #replace with the agent while validating the agent machine. 
        --machines "10.0.1.8, 10.0.1.9" #replace with actual machine IPs of all the nodes in the cluster 
        --versions versions/helm-charts.json
    Note:
    • To validate the requirements for agent, Task Mining, GPU, or Automation Suite Robots machines, change the value of the --node-type flag from server to agent, task-mining, gpu, or asrobots, respectively.
    • If you perform a single-node installation on a single machine, remove the --machines flag. If you perform the installation on multiple machines, provide the IP address of all the machines to validate the connectivity between them.
  3. Create the prerequisite checks required for the shared components installation, by running the following command:
    ./bin/uipathctl prereq create cluster_config.json --versions versions/helm-charts.json./bin/uipathctl prereq create cluster_config.json --versions versions/helm-charts.json
    These are primarily object storage buckets and SQL databases. The SQL databases required for the installation are created on the SQL server if the sql.create_db key is set in the config file. The object storage buckets are created in the cloud provider if the object_storage.create_bucket key is set in the config file.
  4. Validate the prerequisites required by the shared components installation, by running the following command:
    ./bin/uipathctl prereq run cluster_config.json --versions versions/helm-charts.json./bin/uipathctl prereq run cluster_config.json --versions versions/helm-charts.json
  • Overview
  • Validating the machines for the installation

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.