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

Offline multi-node HA-ready production installation

Overview

Important:

You must meet the hardware and software prerequisites before proceeding with the installation. See Hardware and software requirements.

You can use a dedicated script to validate the installation prerequisites and infrastructure readiness. See Validating the prerequisites.

For a smooth installation experience, make sure to follow our best practices. See .

The installation process has the following general steps:

Step

Description

Step 1: Download the installation packages

You must perform this step from a Linux or Windows machine with access to the internet and to the offline machines where you plan to deploy Automation Suite. While the installation packages finish downloading, you can continue to some of the next steps.

Step 2: Configure the installation

Run the interactive installer to configure the installation options.

The tool gathers inputs for most common installation options and generates a configuration file that you can use during installation.

(Optional) Configure advanced installation options.

The interactive installer offers a default experience with a limited number of configuration options. To customize the installed products, set up separate SQL servers for specific products, and more, edit the configuration file.

Step 3: Copy the installation files on all the machines

On the first machine, copy the downloaded files in the installation folder created by the interactive installer at step 2.

On the other cluster machines, copy the entire installation folder from the first machine to the same folder path on each machine.

Step 4: Run the installation

Create the cluster and join all machinesInstall the rest of the suite from the first machine.

Step 5: Complete the installation

Step 5: You have completed the installation successfully and can move to post-installation steps.

You can now access the newly created cluster and suite, update certificates, resize the PVC, and more.

Important:

RHEL kernel version kernel-4.18.0-477.10.1.el8_8 is affected by an issue that interrupts the installation or management of the Automation Suite cluster. Make sure that none of the Automation Suite nodes uses this kernel version either pre- or post-installation. You can update the kernel version by running the following command:

dnf install -y kernel kernel-tools kernel-tools-libsdnf install -y kernel kernel-tools kernel-tools-libs

Step 1: Downloading the installation packages and getting all the files on the first machine

Step 1.1: Downloading the installation packages

You must perform this step on a machine with access to the internet and to the machine in the offline environment where Automation Suite will be installed.
Note:

This machine can be Linux or Windows. The commands in this guide are for RHEL-based OS. For Windows or other OSes, adjust for equivalent commands specific to those environments.

The Automation Suite installer is a wrapper of multiple packages that also installs some dependencies using Red Hat Package Manager (RPM). It provides an interactive experience that helps you configure external resources such as SQL and other installation options.

ON THE SEPARATE MACHINE WITH INTERNET ACCESS

This section explains how to get the required files to start the installation process.

  1. Connect to a machine with internet access and run the following command to get the interactive wizard file:
    ssh <user>@<dns_of_vm>ssh <user>@<dns_of_vm>
  2. If you used an SSH key, run the following command:
    ssh -i <path/to/Key.pem> <user>@<dns_of_vm>ssh -i <path/to/Key.pem> <user>@<dns_of_vm>
  3. Download the following packages:
    • installUiPathAS.shMandatory. See installUiPathAS.sh for download instructions.
    • as-installer.zipMandatory. See as-installer.zip for download instructions.
    • as.tar.gzOptional. Required only on server node when using internal Docker registry. See as.tar.gz for download instructions.
    • as-infra.tar.gz - Mandatory. See as-infra.tar.gz for download instructions.
    • du-ondemand.tar.gzOptional. Needed only for Document Understanding. See du-ondemand.tar.gz for download instructions.
      Note:

      Not following this optional step limits the functionality of the Document Understanding services.

    • cv-ondemand.tar.gzOptional. Needed only for Computer Vision. See cv-ondemand.tar.gz for download instructions.
      Note:

      Not following this optional step prevents access to the Computer Vision services.

    Make sure to download the package suitable for your Automation Suite version and your operating system.

Step 1.2: Getting all downloaded files on the first machine

Make sure to take the following steps:

  • Check that all files finished downloaded on the machine with internet access;
  • Create the target folder on the machine;
  • Copy the files from the online machine to the target machine.

ON ALL MACHINES IN THE CLUSTER

Create the installation folders by running the following command:

sudo su -
mkdir -p /opt/UiPathAutomationSuite/
chmod -R 777 /opt/UiPathAutomationSuite
mkdir -p /uipath/tmp
chmod -R 777 /uipath/tmpsudo su -
mkdir -p /opt/UiPathAutomationSuite/
chmod -R 777 /opt/UiPathAutomationSuite
mkdir -p /uipath/tmp
chmod -R 777 /uipath/tmp
Important: Running mkdir -p /opt/UiPathAutomationSuite/ is not required if you use the configureUiPathDisks.sh script.

ON THE SEPARATE MACHINE WITH INTERNET ACCESS

Copy the files to the first node by taking the following steps:

  1. From the machine with internet access, copy the files to the installation folder on the target machine, and the offline bundle(s) to the /uipath/tmp folder:
    scp ~/installUiPathAS.sh ~/as-installer.zip ~/as-infra.tar.gz <username>@<node dns>:/uipath/tmp
    scp ~/as.tar.gz <username>@<node dns>:/uipath/tmp/scp ~/installUiPathAS.sh ~/as-installer.zip ~/as-infra.tar.gz <username>@<node dns>:/uipath/tmp
    scp ~/as.tar.gz <username>@<node dns>:/uipath/tmp/
  2. (Optional) To use Document Understanding, copy the following bundle to the /uipath/tmp folder:
    scp ~/du-ondemand.tar.gz <username>@<node dns>:/uipath/tmp/scp ~/du-ondemand.tar.gz <username>@<node dns>:/uipath/tmp/
    Warning: Not following this optional step prevents access to the Document Understanding services.
  3. (Optional) To use Computer Vision, copy the following bundle to the /uipath/tmp folder:
    scp ~/cv-ondemand.tar.gz <username>@<node dns>:/uipath/tmp/scp ~/cv-ondemand.tar.gz <username>@<node dns>:/uipath/tmp/
    Warning: Not following this optional step prevents access to the Computer Vision services.

Step 2: Configuring the installation

Step 2.1: Default configuration

ON THE MAIN MACHINE OF THE CLUSTER
  1. Add the prerequisites folder to the current PATH.
    The interactive installer requires jq, and the Automation Suite offline bundles already include it. Run the following commands to add it to PATH, and make sure you are still root:
    mv /uipath/tmp/installUiPathAS.sh /uipath/tmp/as-installer.zip /uipath/tmp/as-infra.tar.gz  /opt/UiPathAutomationSuite
    cd /opt/UiPathAutomationSuite
    unzip ./as-installer.zip -d .
    chmod +x ./bin/jq
    export PATH=${PATH}:/opt/UiPathAutomationSuite/binmv /uipath/tmp/installUiPathAS.sh /uipath/tmp/as-installer.zip /uipath/tmp/as-infra.tar.gz  /opt/UiPathAutomationSuite
    cd /opt/UiPathAutomationSuite
    unzip ./as-installer.zip -d .
    chmod +x ./bin/jq
    export PATH=${PATH}:/opt/UiPathAutomationSuite/bin
  2. Provide permissions to the installer folder.
    It is required to give adequate permissions to the /opt/UiPathAutomationSuite folder where the installation scripts are placed and will be executed. The installer will also create some files (output.json) after the execution of each stage. To provide the required permissions, run the following command:
    chmod -R 755 /opt/UiPathAutomationSuitechmod -R 755 /opt/UiPathAutomationSuite
  3. Run the interactive installer to configure the installation options.
    Important:
    The interactive installer tries to download as-installer.zip and fails in offline environments. To bypass the download step and prevent any installation issues, run the following command:
    export BUNDLE_FILE="/opt/UiPathAutomationSuite/as-installer.zip"export BUNDLE_FILE="/opt/UiPathAutomationSuite/as-installer.zip"

    To start the interactive installer, run the following script:

    chmod +x ./installUiPathAS.sh
    ./installUiPathAS.shchmod +x ./installUiPathAS.sh
    ./installUiPathAS.sh
    The interactive installer guides you through the configuration steps and generates the configuration that you can then customize through the remaining installation steps.

Running the interactive installer in multi-node offline mode

Run the interactive installer to configure the installation options. The tool gathers inputs for the most common installation options and generates a configuration file. High Availability is enabled by default, but you can disable it using the advanced configuration.

Important:
When performing an interactive installation of Automation Suite 2023.4.0, the message asking you to run the next command on secondary nodes contains an empty token. To continue the installation, you must generate a new token by running kubectl create token default, and only then execute the command on the secondary nodes.

To install Automation Suite, take the following steps:

  1. Start the interactive installer.
  2. Accept the license agreement to continue the installation.
  3. In Main Menu, select your deployment mode. Choose Multi-node deployment (recommended for production use) and confirm your selection.
    docs image
  4. In Deployment configuration, select your environment type. Choose Air-gapped.
  5. Choose your product selection. Your options are:
    • Complete (All products)
    • Select products

    For details on the product selection options, see Hardware and software requirements.

  6. If you chose Select products in the previous step, indicate the products you want to install. Your options are:
    • Action Center
    • AI Center
    • Apps
    • Automation Hub
    • Automation Ops
    • Automation Suite Robots
    • Data Service
    • Document Understanding
    • Insights
    • Orchestrator
    • Process Mining
    • Task Mining
    • Test Manager
    Note:

    Some Automation Suite products have additional dependencies on each other. When selecting the products you want to install, make sure you consider Cross-products dependencies. Trying to install a product without its dependencies would result in an error.

    In addition to that, some Automation Suite products require a dedicated agent node. Before continuing, make sure you meet the hardware requirements.

  7. To install AI Center, you must follow additional steps:
    1. Specify whether AI Center requires an external Orchestrator.
      • If AI Center does not require an external Orchestrator, continue to Step 8.
      • If AI Center requires an external Orchestrator, continue to Step 7.b.
    2. Copy the Orchestrator certificate to the virtual machine. For more information on this, check the Copy the Orchestrator certificate page.
    3. Specify the Orchestrator URL for AI Center. Example: https://orchestrator.example.com.
    4. Specify the Identity URL for AI Center. Example: https://orchestrator.example.com/identity.
    5. Specify the path to the Orchestrator certificate file. Example: /opt/UiPathAutomationSuite/UiPath_Installer/orch.cer.
    6. Specify the path to Identity certificate file. Example: /opt/UiPathAutomationSuite/UiPath_Installer/identity.cer.
    Note: In offline installations, you do not need to specify the metering API key. To complete the AI Center installation, follow the step from the Completing AI Center installation section.
  8. Confirm your product selection to determine the minimum hardware and software requirements.
  9. Enter the Automation Suite FQDN.
  10. Specify whether you would like to bring your own object store for the selected products. If you select No, you opt for the default object store. If you select Yes, choose one of the following options:
    • Azure Storage Account – Indicate if you want to use managed identity-based with your Azure storage account, provide the following details corresponding to your choice, then specify if you want the containers to be automatically provisioned for all the selected products:
      • If Yes, provide the Azure storage account name and endpoint suffix, and your client ID;
      • If No, provide the Azure storage account name and endpoint suffix, and your Azure account key;
    • AWS S3 – Provide the prefix and suffix for the bucket names, the AWS region where buckets are hosted, the access key and the secret key for the S3 account, and specify if you want the buckets to be automatically provisioned for all the selected products.
    • Other S3 Compatible storage – Specify the prefix and suffix for the bucket names, the S3 server FQDN, the S3 port, the access key and the secret key for the S3 account, and specify if you want the buckets to be automatically provisioned for all the selected products.
    Note:

    Many S3 objectstores require the CORS set to all the traffic from the Automation Suite cluster. You must configure the CORS policy at the objectstore level to allow the FQDN of the cluster.

  11. Specify whether you want to bring your own OCI-compatible external Docker registry.
    • If you select No, you opt for the default internal Docker registry.

    • If you select Yes, you must provide the following details on the registry you want to use: registry URL with port, username, password, and pull secret.

  12. Specify whether you want to use Kerberos Authentication for SQL connections.
  13. Enter the SQL Server FQDN. Follow the prompt to enter the connection port, username, and password.
    Note:

    Process Mining requires a second SQL Server. If you install Process Mining, make sure to provide the warehouse SQL Server URL, connection prompt, username, and password.

    For details on the hardware requirements the second SQL Server must meet, see SQL requirements for Process Mining.

  14. Specify whether you want the installer to automatically create the necessary databases.
  15. Provide CA certificates for any external server software that requires a secure TLS communication, otherwise the installation will fail. If you did not enable the TLS communication, you can configure the certificates post-installation.
    Note:
    The installer accepts only Base64-encoded DER certificates in PEM format. If the external servers have different CAs, you can concatenate all the public certificates in a single file.
  16. After defining the configuration parameters, the installer autogenerates the configuration. You can edit the configuration parameters directly in the terminal.
    Note:
    You can now directly edit the cluster_config.json for advanced configuration settings in the UiPathAutomationSuite folder.

    After you edit the configuration file, you must re-run the interactive installer to complete the installation or complete it manually.

    For a Disaster recovery - Active/Passive deployment, you must now take the following steps:

    1. Install and configure the primary cluster. For details, see Advanced installation experience.

    2. Install and configure the secondary cluster. For details, see Disaster recovery - Installing the secondary cluster.

    3. Resume the installation by following the instructions on this page.

Note: At the end of the installation process, you are prompted with a deployment summary that gives you access to the Cluster Administration portal, host portal, organization administration interface, Rancher, ArgoCD, and more.

Step 2.2: (Optional) Advanced configuration

This step is optional.

You can configure the file for more advanced configurations. You can enable additional products, disable any of the default products, configure your SQL DBs and their respective connection strings, and certificates. For multi-node HA-ready production mode, we enable High Availability by default, but you can disable it if needed.

For advanced configuration, you can follow the following instructions: Advanced installation experience.

Note: If you exit the interactive installer and perform advanced configuration, you need to re-run the interactive installer to complete the process.

Step 3: Copying the installation files on all the other cluster machines

From the first machine in the cluster, where the configuration was performed, copy the installer, certificates, and cluster_config.json to all the other machines.

ON THE FIRST MACHINE IN THE CLUSTER

  1. Copy the /opt/UiPathAutomationSuite folder to all other nodes by running the following command:
    scp -r /opt/UiPathAutomationSuite <username>@<node dns>:/optscp -r /opt/UiPathAutomationSuite <username>@<node dns>:/opt
    Important: Since you are in an air-gapped environment, you might need to use the private IP of the target node.
  2. Add -i <cert.pem> if you are using a certificate to login. If you copy the .pem contents to a local file, the new file will need to have correct permissions. You can do chmod 400 <cert.pem> for granting them.
The step above ensures the same configuration is replicated on all machines along with all the downloaded packages for the install bundle.

Step 4: Running the installation

There are two types of machines: server and agent.

  • Server - Machines on which the Kubernetes infrastructure (i.e. apiserver, etcd) runs on. These components manage the entire cluster.
  • Agent - vanilla version of machine that is used to run workloads

The multi-node HA-ready production mode requires a minimum of 3 server machines. Installing Task Mining requires adding an additional machine used as an agent.

Note:
  • For a multi-node HA-ready production installation, you need a load balancer. Please make sure one was created and traffic is distributed between nodes. The domain name of the load balancer needs to be used in the cluster_config.json file.
  • You need to have at least a server node and for HA you need at least three server nodes. An odd number of server nodes is required.

Step 4.1: Accepting the license agreement

Before running the installation, make sure to read the License Agreement.

To accept the license agreement, choose one of the following methods:

  • Option 1 (Environment Variable) - Set the LICENSE_AGREEMENT environment variable to accept by executing the following command: export LICENSE_AGREEMENT=accept
  • Option 2 (Inline parameter) - Alternatively, append --accept-license-agreement to every execution of install-uipath.sh.

Step 4.2: Creating and joining all machines to the cluster

  1. Set up the first machine.
    Execute the following commands on the first server:
    cd /opt/UiPathAutomationSuite
    ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k --offline-bundle ./as-infra.tar.gz --offline-tmp-folder /uipath/tmp --install-offline-prereqs --accept-license-agreementcd /opt/UiPathAutomationSuite
    ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k --offline-bundle ./as-infra.tar.gz --offline-tmp-folder /uipath/tmp --install-offline-prereqs --accept-license-agreement
  2. Join the rest of the servers to the cluster.
    Execute the following commands on the rest of the server nodes in sequence:
    cd /opt/UiPathAutomationSuite
    sudo chmod -R 755 /opt/UiPathAutomationSuite
    sudo ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k -j server --offline-bundle ./as-infra.tar.gz --offline-tmp-folder /opt/UiPathAutomationSuite/tmp --install-offline-prereqs --accept-license-agreementcd /opt/UiPathAutomationSuite
    sudo chmod -R 755 /opt/UiPathAutomationSuite
    sudo ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k -j server --offline-bundle ./as-infra.tar.gz --offline-tmp-folder /opt/UiPathAutomationSuite/tmp --install-offline-prereqs --accept-license-agreement
  3. Join the rest of the agents to the cluster.
    Execute the following commands on the rest of the agent nodes in sequence:
    cd /opt/UiPathAutomationSuite
    sudo chmod -R 755 /opt/UiPathAutomationSuite
    sudo ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k -j agent --offline-bundle ./as-infra.tar.gz --offline-tmp-folder /opt/UiPathAutomationSuite/tmp --install-offline-prereqs --accept-license-agreementcd /opt/UiPathAutomationSuite
    sudo chmod -R 755 /opt/UiPathAutomationSuite
    sudo ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k -j agent --offline-bundle ./as-infra.tar.gz --offline-tmp-folder /opt/UiPathAutomationSuite/tmp --install-offline-prereqs --accept-license-agreement

Step 4.3: Finishing installing the suite

Finishing the installation on the first node

Once all nodes are joined, switch to the first server to finish the Automation Suite installation:

  1. Check if the nodes were properly added by running the following command:

    sudo su 
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin 
    kubectl get nodessudo su 
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin 
    kubectl get nodes
  2. You should see more than one node in the list if all was well.

  3. Finish the installation by executing the following command:

    cd /opt/UiPathAutomationSuite
    ./install-uipath.sh -i ./cluster_config.json -o ./output.json -f -s --offline-bundle /uipath/tmp/as.tar.gz --offline-tmp-folder /uipath/tmp --accept-license-agreementcd /opt/UiPathAutomationSuite
    ./install-uipath.sh -i ./cluster_config.json -o ./output.json -f -s --offline-bundle /uipath/tmp/as.tar.gz --offline-tmp-folder /uipath/tmp --accept-license-agreement
Warning:

This is the most time consuming operation. Expect it to take approximately 2h.

Loading the optional bundles

Note:

This step is required only if you did not opt for external Docker registry.

  • To load the optional Document Understanding bundle, execute the following command:

    ./configureUiPathAS.sh registry upload --optional-offline-bundle "/uipath/tmp/du-ondemand.tar.gz" --offline-tmp-folder "/uipath/tmp"./configureUiPathAS.sh registry upload --optional-offline-bundle "/uipath/tmp/du-ondemand.tar.gz" --offline-tmp-folder "/uipath/tmp"
  • To load the optional Computer Vision bundle, execute the following command:

    ./configureUiPathAS.sh registry upload --optional-offline-bundle "/uipath/tmp/cv-ondemand.tar.gz" --offline-tmp-folder "/uipath/tmp"./configureUiPathAS.sh registry upload --optional-offline-bundle "/uipath/tmp/cv-ondemand.tar.gz" --offline-tmp-folder "/uipath/tmp"

Completing an AI Center installation

If AI Center requires an external Orchestrator, run the following command to complete the installation:

./configureUiPathAS.sh aicenter configure --installation-token <identity token>./configureUiPathAS.sh aicenter configure --installation-token <identity token>
For more information on how to configure Orchestrator for AI Center, check the Configuring Orchestrator page from the AI Center guide.

Step 5: Completing the installation

Note: You have completed the installation successfully, and you can now move to post-installation steps.

Updating certificates

The installation process generates self-signed certificates on your behalf. These certificates are compliant with FIPS 140-2. The Azure deployment template also gives you the option to provide a CA-issued server certificate at installation time instead of using an auto-generated self-signed certificate.

Self-signed certificates will expire in 90 days, and you must replace them with certificates signed by a trusted CA as soon as installation completes. If you do not update the certificates, the installation will stop working after 90 days.

If you installed Automation Suite on a FIPS 140-2-enabled host and want to update the certificates, make sure they are compatible with FIPS 140-2.

For instructions, see Managing certificates.

Accessing Automation Suite

To access the newly created cluster and suite, see Accessing Automation Suite.

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.