- Overview
- Requirements
- Prerequisites at a glance
- Kubernetes cluster and nodes
- Proxy
- SQL database
- Caching
- Storage
- Configuring NGINX ingress controller
- Certificate requirements
- Pre-installation
- Installation
- Post-installation
- Migration and upgrade
- Upgrading Automation Suite
- Migrating standalone products to Automation Suite
- Step 1: Restoring the standalone product database
- Step 2: Updating the schema of the restored product database
- Step 3: Moving the Identity organization data from standalone to Automation Suite
- Step 4: Backing up the platform database in Automation Suite
- Step 5: Merging organizations in Automation Suite
- Step 6: Updating the migrated product connection strings
- Step 7: Migrating standalone Orchestrator
- Step 8: Migrating standalone Insights
- Step 9: Migrating standalone Test Manager
- Step 10: Deleting the default tenant
- Performing a single tenant migration
- Migrating between Automation Suite clusters
- Migrating from Automation Suite on EKS/AKS to Automation Suite on OpenShift
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Orchestrator advanced configuration
- Configuring Orchestrator parameters
- Configuring appSettings
- Configuring the maximum request size
- Overriding cluster-level storage configuration
- Configuring NLog
- Saving robot logs to Elasticsearch
- Configuring credential stores
- Configuring encryption key per tenant
- Cleaning up the Orchestrator database
- Skipping host library creation
- 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
- Robot cannot connect to an Automation Suite Orchestrator instance
- Log streaming does not work in proxy setups
- Velero backup fails with FailedValidation error
- Accessing FQDN returns RBAC: access denied error

Automation Suite on EKS/AKS installation guide
Configuring NGINX ingress controller
In standard configuration, Automation Suite provisions a Load Balancer Kubernetes service type configured with Istio Gateway as an ingress controller for the requests coming from the network load balancer.
If you already have an NGINX ingress controller in your cluster and want to continue to use it, you must configure the Kubernetes service_type as cluster_IP instead of Load Balancer. This document provides the necessary changes required for that configuration.
To manage large headers, adjust the proxy-buffer-size in the ingress annotation as follows: assignment
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
NGINX to Istio via HTTP
Updating your NGINX ingress configuration
You must update your NGINX specification with istio-ingressgateway as a backend service and specify the port number 80. Additionally, if you have your own Network Policies,make sure they are configured correctly to allow NGINX and Istio routing.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
namespace: <istio-system>
spec:
ingressClassName: nginx
tls:
- hosts:
- "<FQDN>"
- "*.<FQDN>"
secretName: nginx-tls
rules:
- host: "<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
number: 80
- host: "*.<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
number: 80
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
namespace: <istio-system>
spec:
ingressClassName: nginx
tls:
- hosts:
- "<FQDN>"
- "*.<FQDN>"
secretName: nginx-tls
rules:
- host: "<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
number: 80
- host: "*.<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
number: 80
input.json parameters
You must provide the following parameters in input.json to change service_type and HTTPS:
...
"ingress": {
"service_type": "ClusterIP",
"HTTPS": false
}
...
...
"ingress": {
"service_type": "ClusterIP",
"HTTPS": false
}
...
NGINX to Istio via HTTPs
Updating the NGINX ingress configuration
You must update your NGINX specification with istio-ingressgateway as a backend service and specify https as the port name.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
namespace: <istio-system>
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "https"
nginx.ingress.kubernetes.io/proxy-ssl-name: "<FQDN>"
nginx.ingress.kubernetes.io/proxy-ssl-server-name: "on"
nginx.ingress.kubernetes.io/proxy-ssl-secret: "<istio-system>/istio-ingressgateway-certs"
nginx.ingress.kubernetes.io/proxy-ssl-verify: "on"
spec:
ingressClassName: nginx
tls:
- hosts:
- "<FQDN>"
- "*.<FQDN>"
secretName: nginx-tls
rules:
- host: "<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
name: https
- host: "*.<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
name: https
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
namespace: <istio-system>
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "https"
nginx.ingress.kubernetes.io/proxy-ssl-name: "<FQDN>"
nginx.ingress.kubernetes.io/proxy-ssl-server-name: "on"
nginx.ingress.kubernetes.io/proxy-ssl-secret: "<istio-system>/istio-ingressgateway-certs"
nginx.ingress.kubernetes.io/proxy-ssl-verify: "on"
spec:
ingressClassName: nginx
tls:
- hosts:
- "<FQDN>"
- "*.<FQDN>"
secretName: nginx-tls
rules:
- host: "<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
name: https
- host: "*.<FQDN>"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: istio-ingressgateway
port:
name: https
input.json parameters
You must provide the following parameters in input.json to change service_type and HTTPS:
...
"ingress": {
"service_type": "ClusterIP",
"HTTPS": true
}
...
...
"ingress": {
"service_type": "ClusterIP",
"HTTPS": true
}
...