Die Datei cluster_config.json
definiert die Parameter, Einstellungen und Präferenzen, die auf die über die Automation Suite bereitgestellten UiPath-Produkte angewendet werden. Sie müssen diese Datei aktualisieren, wenn Sie Standardeinstellungen ändern und eine erweiterte Konfiguration für Ihren Cluster verwenden möchten.
Um die cluster_config.json
zu bearbeiten, können Sie Folgendes machen:
- Entweder Sie verwenden einen Linux-Texteditor, wie z. B. Vi oder GNU Nano, direkt auf der Linux-Maschine über SSH (z. B. mit dem Befehl:
vi cluster_config.json
); - Oder Sie nutzen Ihren bevorzugten Texteditor und kopieren dann die Datei auf die Maschine.
The cluster_config.json
file allows you to configure the UiPath products you want to deploy. There are two types of UiPath products:
- mandatory products: these are installed by default and do not have the
enabled
flag available on them; - optional products: these are not required to complete the install. However, be aware that products may have dependencies. Please see Product dependencies for more details on this.
To enable or disable a product via the cluster_config.json
file, use true
or false
for the enabled
flag.
cluster_config.json
Beispiel
cluster_config.json
Beispiel{
"fqdn": "PLACEHOLDER",
"fixed_rke_address": "PLACEHOLDER",
"multinode": "false",
"admin_username": "PLACEHOLDER",
"admin_password": "PLACEHOLDER",
"profile": "ha",
"telemetry_optout": "true",
"rke_token": "PLACEHOLDER",
"server_certificate": {
"ca_cert_file": "/absolute/path/to/rootCA.crt",
"tls_cert_file": "/absolute/path/to/server.crt",
"tls_key_file": "/absolute/path/to/server.key"
},
"infra": {
"docker_registry": {
"username": "PLACEHOLDER",
"password": "PLACEHOLDER"
},
"custom_dns_resolver": "/path/to/custom-resolv.conf"
},
"identity_certificate": {
"token_signing_cert_file": "/absolute/path/to/identity.pfx",
"token_signing_cert_pass": ""
},
"sql": {
"server_url": "PLACEHOLDER",
"username": "PLACEHOLDER",
"password": "PLACEHOLDER",
"port": "PLACEHOLDER",
"create_db": "PLACEHOLDER"
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"orchestrator": {
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
}
},
"aicenter": {
"enabled": true,
"sql_connection_str": "PLACEHOLDER"
},
"documentunderstanding": {
"enabled": true,
"datamanager": {
"sql_connection_str": "PLACEHOLDER"
},
"handwriting": {
"enabled": true,
"max_cpu_per_pod": 2
}
},
"insights": {
"enabled": true
},
"test_manager": {
"enabled": true
},
"automation_ops": {
"enabled": true
},
"automation_hub": {
"enabled": true
},
"apps": {
"enabled": true
},
"action_center": {
"enabled": true
},
"task_mining": {
"enabled": true
},
"dataservice": {
"enabled": true
}
}
Allgemeine Konfiguration
Mandatory parameters | Description |
---|---|
fqdn | The load balancer (multi-node HA-ready production mode) or machine (single-node evaluation mode) domain name. |
fixed_rke_address | Fixed address used to load balance node registration and kube API requests. This should be fqdn if load balancer is configured as recommended. Otherwise FQDN of 1st Server Node. Refer to Configuring the load balancer. Can be the IP/FQDN of the first rke2 server in your setup. |
multinode | Set to true when choosing a multi-node HA-ready production profile. The value of this flag is set automatically by the interactive install wizard. It is used for internal purposes only and should not be modified manually. |
admin_username | The username that you would like to set as admin (such as: admin ) for the host organization. |
admin_password | The host admin password to be set. |
rke_token | Use a newly generated GUID here. This is a pre-shared, cluster-specific secret. It is needed for all the nodes joining the cluster. |
profile | Sets the profile of the installation. The available profiles are:default : single-node evaluation profile.ha : multi-node HA-ready production profile.The value of this flag is set automatically by the interactive install wizard. It is used for internal purposes only and should not be modified manually. |
infra.docker_registry.username | The username that you would like to set for the docker registry installation. |
infra.docker_registry.password | The password that you would like to set for the docker registry installation. |
Optional parameters | Description |
---|---|
telemetry_optout | true or false - used to opt-out of sending telemetry back to UiPath. It is set to false by default.If you wish to opt out, then set to true . |
Einrichten von Zertifikaten
Bitte beachten Sie die Dokumente, die für den Erhalt des Zertifikats erforderlich sind:
- Auswertungsmodus mit einem einzelnen Knoten: Konfigurieren der Zertifikate
- HA-fähige Produktion mit mehreren Knoten: Konfigurieren der Zertifikate
Wenn zum Zeitpunkt der Installation kein Zertifikat bereitgestellt wird, erstellt das Installationsprogramm ein selbst ausgestelltes Zertifikat und konfiguriert es im Cluster. Die Gültigkeit des Zertifikats beträgt 90 Tage.
Hinweis:
Stellen Sie sicher, dass Sie den absoluten Pfad für die Zertifikatsdateien angeben. Führen Sie
pwd
aus, um den Pfad des Verzeichnisses abzurufen, in dem die Dateien gespeichert sind, und hängen Sie den Namen der Zertifikatsdatei ancluster_config.json
an.In HA-fähigen Produktionsinstallationen mit mehreren Knoten ist ein Zertifikat nur auf dem ersten Knoten erforderlich.
Parameter | Description |
---|---|
server_certificate.ca_cert_file | Absolute path to the Certificate Authority (CA) certificate. This CA is the authority that signs the TLS certificate. A CA bundle should contain only the chain certificates used to sign the TLS certificate. The chain limit is up to nine certificates. If you are using a self-signed certificate, you need to specify the path to the rootCA.crt , which you previously created. Leave blank if you want the installer to generate. |
server_certificate.tls_cert_file | Absolute path to TLS certificate (server.crt for self-signed created in earlier steps). Leave blank if you want the installer to generate. |
server_certificate.tls_key_file | Absolute path to certificate key (server.key for self-signed created in earlier steps). Leave blank if you want the installer to generate. |
identity_certificate.token_signing_cert_file | Absolute path to the Identity Service certificate used to sign tokens (identity.pfx for self-signed created in earlier steps). Leave blank if you want the installer to generate an identity certificate using the server certificate. |
identity_certificate.token_signing_cert_pass | Plain text password set when it was exported. |
additional_ca_certs | Absolute path to the file containing additional CA certificates that you want to be trusted by all the products running as part of Automation Suite. All certificates in the file should be valid PEM format.For example, you need to provide the file containing the SQL server CA certificate if the certificate is not issued by a public certificate authority. |
Datenbankkonfiguration
Automatisches Erstellen der erforderlichen Datenbanken
Wenn das Installationsprogramm die Datenbanken erstellen soll, füllen Sie die folgenden Felder aus:
Parameter | Description |
---|---|
sql.create_db | Set to true . |
sql.server_url | FQDN of the SQL server, where you want the installer to configure database. |
sql.port | Port number on which a database instance should be hosted in the SQ: server. |
sql.username | Username / userid to connect to the SQL server. |
sql.password | Password of the username provided earlier to connect to the SQL server. |
Wichtig:
Stellen Sie sicher, dass der Benutzer über die
dbcreator
-Rolle verfügt. Dadurch erhalten sie die Berechtigung zum Erstellen der Datenbank im SQL-Server. Andernfalls schlägt die Installation fehl.Die ODBC-Verbindung unterstützt keine Benutzernamen, die Sonderzeichen enthalten. Verwenden Sie bei Datenbankbenutzernamen für AI Center und Document Understanding nur Groß- und Kleinbuchstaben.
Mitbringen Ihrer eigenen Datenbank
Wenn Sie Ihre eigene Datenbank mitbringen, müssen Sie die SQL-Verbindungszeichenfolgen für jede Datenbank angeben. Die Automation Suite unterstützt die folgenden Formate für SQL-Verbindungszeichenfolgen:
Parameter | Description | Products |
---|---|---|
sql_connection_string_template | Full ADO.NET connection string where Catalog name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | Platform, Orchestrator, Test Manager, Automation Hub, Automation Ops, Insights, Task Mining, Data Service |
sql_connection_string_template_jdbc | Full JDBC connection string where database name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | AI Center |
sql_connection_string_template_odbc | Full ODBC connection string where database name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | Document Understanding |
Wichtig!
Stellen Sie sicher, dass das in den Verbindungszeichenfolgen angegebene SQL-Konto die Rollen
db_securityadmin
unddb_owner
für alle Automation Suite-Datenbanken erhält. Wenn die Sicherheitsbeschränkungen die Verwendung vondb_owner
nicht zulassen, sollte das SQL-Konto über die folgenden Rollen und Berechtigungen für alle Datenbanken verfügen:
db_ddladmin
db_datawriter
db_datareader
- Berechtigung
EXECUTE
für das Schema „dbo“
Wichtig!
Wenn Sie die Verbindungszeichenfolgen manuell in der Konfigurationsdatei festlegen, können Sie SQL-, JDBC- oder ODBC-Kennwörter wie folgt maskieren:
- für SQL: Fügen Sie
'
am Anfang und Ende des Kennworts hinzu und verdoppeln Sie alle anderen'
.- für JDBC/ODBC: Fügen Sie
{
am Anfang des Kennworts und}
am Ende hinzu, und verdoppeln Sie alle anderen}
.
Hinweis:
Wenn Sie
TrustServerCertificate=False
festlegen, müssen Sie möglicherweise ein zusätzliches Zertifizierungsstellenzertifikat für den SQL-Server bereitstellen. Dies ist erforderlich, wenn das SQL Server-Zertifikat selbstsigniert oder von einer internen Zertifizierungsstelle signiert wurde.Weitere Informationen finden Sie unter Einrichten von Zertifikaten.
Beispiel: sql_connection_string_template
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Beispiel: sql_connection_string_template_jdbc
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
Beispiel: sql_connection_string_template_odbc
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
Standardmäßige und optionale DB-Namen für die Automation Suite-Dienste
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"task_mining": "AutomationSuite_Task_Mining",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
}
Hinweis:
Wenn Sie die Verbindungszeichenfolge für einen der oben genannten Dienste überschreiben möchten, legen Sie
sql_connection_str
für den spezifischen Dienst fest.Sie müssen diese Datenbanken weiterhin manuell erstellen, bevor Sie das Installationsprogramm ausführen.
Überschreiben der Standardverbindungszeichenfolge für Orchestrator und die Plattform
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
Um die Datenbankverbindungszeichenfolgen für andere Produkte zu überschreiben, legen Sie sql_connection_str
in den entsprechenden Produktblöcken fest. Die Verbindungszeichenfolge muss ein vom jeweiligen Produkt unterstütztes Format haben.
Beispiel zum Festlegen der Datenbankverbindungszeichenfolge für das AI Center
Parameter | Description |
---|---|
aicenter.sql_connection_str | AICenter JDBC connection string (Refer below for the JDBC format) |
Hinweis:
Bitte überprüfen Sie, ob die JDBC-Verbindungszeichenfolge das Format im folgenden Beispiel hat.
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Beispiel für die DU-Verbindungszeichenfolge
"documentunderstanding": {
"enabled": true,
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
}
Hinweis: Die SQL-Verbindungszeichenfolge vom Data Manager ist nur optional, wenn Sie die Standardzeichenfolge mit Ihrer eigenen überschreiben möchten.
Die Handschrift ist für die Online-Installation immer aktiviert.
Der Standardwert für max_cpu_per-pod
ist 2
, Sie können ihn jedoch an Ihre Anforderungen anpassen. Weitere Informationen finden Sie in der Document Understanding-Konfigurationsdatei.
Spezifische Orchestrator-Konfiguration
Der Orchestrator kann Roboterprotokolle auf einem Elasticsearch-Server speichern. Sie können diese Funktion im Abschnitt orchestrator.orchestrator_robot_logs_elastic
konfigurieren. Wenn nicht angegeben, werden Roboterprotokolle in der Orchestrator-Datenbank gespeichert.
In der folgenden Tabelle sind die orchestrator.orchestrator_robot_logs_elastic
-Felder aufgeführt:
Parameter | Description |
---|---|
elastic_uri | The address of the Elasticsearch instance that should be used. It should be provided in the form of a URI. If provided, then username and password are also required. |
elastic_auth_username | The Elasticsearch username, used for authentication. |
elastic_auth_password | The Elasticsearch password, used for authentication. |
Klicken, um ein Beispiel anzuzeigen
"orchestrator": {
"orchestrator_robot_logs_elastic": {
"elastic_uri": "https://elastic.example.com:9200",
"elastic_auth_username": "elastic-user",
"elastic_auth_password": "elastic-password"
}
}
Insights-spezifische Konfiguration
Wenn sie Insights aktivieren, können Benutzer die SMTP-Serverkonfiguration einschließen, die zum Senden geplanter E-Mails/Warnungs-E-Mails verwendet wird. Wenn sie fehlt, funktionieren die geplanten E-Mails und die Warnungs-E-Mails nicht.
Details zu den insights.smtp_configuration
-Feldern:
Parameter | Description |
---|---|
tls_version | Valid values are TLSv1_2 , TLSv1_1 , SSLv23 . Omit key altogether if not using TLS. |
from_email | Address that alert/scheduled emails will be sent from. |
host | Hostname of the SMTP server. |
port | Port of the SMTP server. |
username | Username for SMTP server authentication. |
password | Password for SMTP server authentication. |
Klicken, um ein Beispiel anzuzeigen
"insights": {
"enabled": true,
"smtp_configuration": {
"tls_version": "TLSv1_2",
"from_email": "test@test.com",
"host": "smtp.sendgrid.com",
"port": 587,
"username": "login",
"password": "password123"
}
}
Konfiguration der Überwachung
To provision enough resources for monitoring (see Using the monitoring stack), you should consider the number of vCPUs in the cluster and the amount of desired metric retention. See below for how to set the following monitoring resource configurations.
In der folgenden Tabelle werden die Details des Überwachungsfelds beschrieben:
Parameter | Description |
---|---|
prometheus_retention | In days. This is the amount of days that metrics will be retained for the purpose of visualization in Grafana and manual querying via the Prometheus console. Default value is 7 . |
prometheus_storage_size | In GB. Amount of storage space to reserve per Prometheus replica. A good rule of thumb is to set this value to: 0.65 * vCPU cores * (prometheus_retention / 7) Example: If you set prometheus_retention to 14 days, and your cluster has 80 cores spread across 5 machines, this becomes:0.65 * 80 * (14 / 7) 52 * (2) 104 Default value is 45 and should not be set lower.If Prometheus starts to run out of storage space, an alert will be triggered with specific remediation instructions. See here. |
prometheus_memory_limit | In MB. Amount of memory to limit each Prometheus replica to. A good rule of thumb is to set this value to: 100 * vCPU cores * (prometheus_retention / 7) Example: If you've set prometheus_retention to 14 days, and your cluster has 80 cores spread across 5 machines, this becomes:100 * 80 * (14 / 7) 8000 * (2) 16000 Default value is 3200 for the single-node evaluation mode, and 6000 for the multi-node HA-ready production mode, and should not be set lower.If Prometheus starts to run out of memory, an alert will be triggered with specific remediation instructions. See here. |
Klicken, um ein Beispiel anzuzeigen
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
Optional: Konfigurieren des Proxyservers
Hinweis:
Stellen Sie sicher, dass Sie die Proxyserveranforderungen erfüllen, bevor Sie den Proxyserver während der Installation konfigurieren.
For details, see Step 2: Adding proxy configuration to each node.
Beim Ausführen des interaktiven Installationsassistenten müssen Sie ihn beenden und die cluster_config.json
während des erweiterten Konfigurationsschritts aktualisieren.
Sie müssen mit vim oder Ihrem bevorzugten Editor für die Konfigurationsdatei Folgendes in die Konfigurationsdatei einfügen:
"proxy": {
"enabled": "true",
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}
Mandatory parameters | Description |
---|---|
enabled | Use true or false to enable or disable proxy settings. |
http_proxy | Used to route HTTP outbound requests from the cluster. This should be the proxy server FQDN and port. |
https_proxy | Used to route HTTPS outbound requests from the cluster. This should be the proxy server FQDN and port. |
no_proxy | Comma-separated list of hosts, IP addresses, or IP ranges in CIDR format that you do not want to route via the proxy server. This should be a private subnet range, sql server host, named server address, metadata server address: *.<fqdn>,<fixed_rke_address>:9345,<fixed_rke2_address>:6443 .fqdn - the cluster FQDN defined in cluster_config.json fixed_rke_address - the fixed_rke_address defined in cluster_config.json named server address - the IP address from /etc/resolv.conf private_subnet_ip - the cluster VNetsql server host - sql server hostmetadata server address - the IP address 169.254.169.254 used to fetch machine metadata by cloud services such as Azure and AWSk8s address range - the IP address ranges used by the Kubernetes nodes, i.e. 10.0.0.0/8 . |
Optional: Aktivieren der Widerstandsfähigkeit gegen zonale Ausfälle in einem HA-fähigen Produktionscluster mit mehreren Knoten
Um Widerstandsfähigkeit gegen zonale Ausfälle in einem Cluster mit mehreren Knoten zu ermöglichen, führen Sie die folgenden Schritte aus:
- Stellen Sie sicher, dass Knoten gleichmäßig über drei Verfügbarkeitszonen verteilt sind. Für einen Bare-Metal-Server oder eine VM, die von einem beliebigen Anbieter mit Ausnahme von AWS, Azure oder GCP bereitgestellt wird, müssen die Zonen-Metadaten über die Konfigurationsdatei unter
/etc/default/k8s-node-labels
auf jeder Maschine in folgendem Format bereitgestellt werden.
NODE_REGION_LABEL=<REGION_NAME>
NODE_ZONE_LABEL=<ZONE_NAME>
cat > /etc/default/k8s-node-labels <<EOF
EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}"
EOF
- Aktualisieren Sie die
cluster_config.json
-Datei während des erweiterten Konfigurationsschritts.
Um die cluster_config.json
mithilfe des interaktiven Installationsassistenten zu aktualisieren, beenden Sie den erweiterten Konfigurationsschritt und fügen Sie Folgendes mithilfe von vim oder Ihrem bevorzugten Editor zur Konfigurationsdatei hinzu:
"zone_resilience": true
Mandatory parameters | Description |
---|---|
zone_resilience | Use true or false to enable or disable resilience to zonal failure. |
Wenn Sie die Widerstandsfähigkeit gegen Zonenausfälle aktivieren, ist die Übergabe der Argumente
--zone
und--region
:
- empfohlen, wenn Sie Ihre Maschinen in AWS, Azure oder GCP bereitstellen und Metadatendienste aktiviert sind, während das Installationsprogramm die Zonen- und Regionsdetails ausfüllt.
- obligatorisch, wenn Sie Ihre Maschinen auf AWS, Azure oder GCP bereitstellen und Metadatendienste deaktiviert sind oder wenn Sie sich für einen anderen Cloud-Anbieter entscheiden.
Optional: Übergeben einer benutzerdefinierten resolv.conf
resolv.conf
Der in der Automation Suite bereitgestellte Kubernetes-Cluster verwendet die in /etc/resolv.conf
konfigurierten Nameserver. Kubernetes funktioniert nicht mit lokalen DNS-Resolvern (127.0.0.1 oder 127.0.0.0/8). Wenn Sie solche Nameserver in der /etc/resolv.conf
-Datei konfiguriert haben, müssen Sie daher einen Dateiverweis mit den richtigen Nameserver-Einträgen übergeben, auf die von jeder Stelle der VM im Parameter .infra.custom_dns_resolver
in cluster_config.json
zugegriffen werden kann.
For details on a known limitation, see Kubernetes documentation.
Optional Parameters | Description |
---|---|
.infra.custom_dns_resolver | Path to the file with correct name server entries that can be accessed from anywhere on the VM. These name server entries must not be from 127.0.0.0/8 . |
Vor etwa einem Monat aktualisiert