- Erste Schritte
- Netzwerkanforderungen
- Anforderungen und Installation für einen einzelnen Knoten
- Anforderungen und Installation für mehrere Knoten
- Nach der Installation
- Zugriff auf AI Center
- Bereitstellen eines AI Center-Mandanten
- Aktualisieren von Orchestrator- und Identity Server-Zertifikaten
- Ändern der PVC-Größe
- Hinzufügen eines neuen Knotens zum Cluster
- Offlineinstallation von ML-Paketen
- Konfigurieren des Clusters
- Konfigurieren des FQDN nach der Installation
- Sichern und Wiederherstellen des Clusters
- Verwendung des Überwachungs-Stacks
- Einrichten einer Kerberos-Authentifizierung
- Bereitstellen einer GPU
- Verwenden der Konfigurationsdatei
- Über die Konfigurationsdatei
- Knotenplanung
- Migration und Upgrade
- Grundlegende Anleitung zur Fehlerbehebung
AI Center – Installationshandbuch
Über die Konfigurationsdatei
cluster_config.json
-Datei definiert die Parameter, Einstellungen und Präferenzen, die auf die UiPath-Dienste angewendet werden. Sie müssen diese Datei aktualisieren, wenn Sie Standardeinstellungen ändern und eine erweiterte Konfiguration für Ihren Cluster verwenden möchten.
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.
cluster_config.json
-Datei zu aktivieren oder zu deaktivieren, verwenden Sie true
oder false
für das enabled
-Flag.
Obligatorische Parameter | Beschreibung |
---|---|
fqdn | Der Domänenname des Lastausgleichs (mehrere Knoten) oder der Maschine (ein Knoten). |
fixed_rke_address | Feste Adresse, die für die Lastausgleich-Knotenregistrierung und Kube API-Anforderungen verwendet wird. Dies sollte „fqdn“ sein, wenn der Lastausgleich wie empfohlen konfiguriert ist; andernfalls FQDN des 1. Serverknotens. Weitere Informationen finden Sie unter Konfigurieren des Lastausgleichs.
Kann die IP/der FQDN des ersten rke2-Servers in Ihrem Setup sein. |
multinode | Bei Installation mit mehreren Knoten auf true festlegen
|
admin_username | Der Benutzername, den Sie als Administrator (z. B. Admin) für die Host-Organisation festlegen möchten. |
admin_password | Das festzulegende Administratorkennwort des Hostmandanten. |
rke_token | Verwenden Sie hier einen neu generierten GUID. Dies ist ein vorab freigegebenes, Cluster-spezifisches Geheimnis. Er wird für alle Knoten benötigt, die dem Cluster beitreten. |
profile | Legt das Profil der Installation fest. Die verfügbaren Profile sind:
|
gpu_support | true oder false – aktiviert oder deaktiviert die GPU-Unterstützung für den Cluster.
Legen Sie „true“ fest, wenn Sie Agent-Knoten mit GPUs haben. Standardmäßig ist diese Option auf „false“ festgelegt. |
infra.docker_registry.username | Der Benutzername, den Sie für die Docker-Registrierungsinstallation festlegen möchten. |
infra.docker_registry.password | Das Kennwort, das Sie für die Docker-Registrierungsinstallation festlegen möchten. |
Optionale Parameter | Beschreibung |
---|---|
telemetry_optout | true oder false – wird verwendet, um das Zurücksenden von Telemetriedaten an UiPath zu deaktivieren. Er ist standardmäßig auf false festgelegt.
Wenn Sie die Option deaktivieren möchten, wählen Sie
true aus.
|
AI Center-Parameter | Beschreibung |
---|---|
sql_connection_str | Der SQL-Verbindungsname. |
orchestrator_url | Die Orchestrator URL-Adresse. |
identity_server_url | Die URL-Adresse des Identitätsservers. |
orchestrator_cert_file_path | Der absolute Pfad zur Zertifikatsdatei des Orchestrators. |
identity_cert_file_path | Der absolute Pfad zur Zertifikatsdatei des Identity Servers. |
identity_access_token | Das Zugriffstoken, das aus dem Identity Server entnommen wurde. |
Bitte beachten Sie das Dokument, das für den Erhalt des Zertifikats erforderlich sind:
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.
In Installationen mit mehreren Knoten ist ein Zertifikat nur auf dem ersten Knoten erforderlich.
pwd
aus, um den Pfad des Verzeichnisses abzurufen, in dem die Dateien gespeichert sind, und hängen Sie den Namen der Zertifikatsdatei an cluster_config.json
an.
In Installationen mit mehreren Knoten ist ein Zertifikat nur auf dem ersten Knoten erforderlich.
Parameter | Beschreibung |
---|---|
server_certificate.ca_cert_file | Der absolute Pfad zum Zertifikat der Zertifizierungsstelle. Dieses Zertifikat ist die Stelle, die das TLS-Zertifikat signiert. rootCA.crt ist das selbstsignierte, das in früheren Schritten erstellt wurde. Leer lassen, wenn das Installationsprogramm das Zertifikat generieren soll.
|
server_certificate.tls_cert_file | Der absolute Pfad zum TLS-Zertifikat (server.crt als selbstsigniertes Zertifikat, das in früheren Schritten erstellt wurde). Leer lassen, wenn das Installationsprogramm das Zertifikat generieren soll.
|
server_certificate.tls_key_file | Der absolute Pfad zum Zertifikatsschlüssel (server.key als selbstsigniertes Zertifikat, das in früheren Schritten erstellt wurde). Leer lassen, wenn das Installationsprogramm das Zertifikat generieren soll.
|
additional_ca_certs | Der absolute Pfad zu der Datei, die zusätzliche Zertifikate der Zertifizierungsstelle enthält, die von allen Diensten als vertrauenswürdig angesehen werden sollen, die als Teil der Automation Suite ausgeführt werden. Alle Zertifikate in der Datei müssen im gültigen PEM -Format vorliegen.
Sie müssen die Datei beispielsweise mit dem Zertifizierungsstellenzertifikat des SQL-Servers angeben, wenn das Zertifikat nicht von einer öffentlichen Zertifizierungsstelle ausgestellt wurde. |
Wenn das Installationsprogramm die Datenbanken erstellen soll, füllen Sie die folgenden Felder aus
Parameter | Beschreibung |
---|---|
sql.create_db | Auf true festgelegt.
|
sql.server_url | Der FQDN des SQL-Servers, auf dem das Installationsprogramm die Datenbank konfigurieren soll. |
sql.port | Die Portnummer, auf der eine Datenbankinstanz auf dem SQL-Server gehostet werden soll. |
sql.username | Der Benutzername/die UserID, um eine Verbindung mit dem SQL-Server herzustellen. |
sql.password | Das Kennwort des zuvor angegebenen Benutzernamens, um eine Verbindung mit dem SQL-Server herzustellen. |
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.
Wenn Sie die Datenbank bereitstellen, benötigen wir SQL-Verbindungszeichenfolgen für jede Datenbank. Die folgenden Formate von SQL-Verbindungszeichenfolgen werden unterstützt.
Parameter | Beschreibung |
---|---|
sql_connection_string_template | Vollständige ADO.NET -Verbindungszeichenfolge, wobei der Katalogname auf DB_NAME_PLACEHOLDER festgelegt ist. Das Installationsprogramm ersetzt diesen Platzhalter durch die Standarddatenbanknamen für die installierten Suite-Dienste. |
sql_connection_string_template_jdbc | Vollständige JDBC -Verbindungszeichenfolge, wobei der Datenbankname auf DB_NAME_PLACEHOLDER festgelegt ist. Das Installationsprogramm ersetzt diesen Platzhalter durch die Standarddatenbanknamen für die installierten Suite-Dienste. |
sql_connection_string_template_odbc | Vollständige ODBC-Verbindungszeichenfolge, bei der der Datenbankname auf DB_NAME_PLACEHOLDER festgelegt ist. Das Installationsprogramm ersetzt diesen Platzhalter durch die Standarddatenbanknamen für die installierten Suite-Dienste.
Dieser Parameter wird von Document Understanding verwendet. |
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}
.
Beispiel für ql_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;
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;
ql_connection_string_template_jdbc Beispiel
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"
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"
sql_connection_string_template_odbc-Beispiel</summary>
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;"
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;"
aicenter
-SQL-Konfigurationsparameter fest:
Parameter | Beschreibung |
---|---|
aicenter.ai_appmanager.sql_connection_str | JDBC-Verbindungszeichenfolge des AI App-Managers (siehe unten für das JDBC-Format) |
Beispiel für die AI Center-Verbindungszeichenfolge
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Beispiel für die DU-Verbindungszeichenfolge
"documentunderstanding":
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
"documentunderstanding":
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
db_owner
für alle Databases gewährt wird. Wenn die Sicherheitsbeschränkungen die Verwendung von db_owner
nicht zulassen, sollte das SQL-Konto über die folgenden Rollen und Berechtigungen für alle Databases verfügen:
db_ddladmin
db_datawriter
db_datareader
- Berechtigung
EXECUTE
für das Schema „dbo“
Um genügend Ressourcen für die Überwachung bereitzustellen (siehe Verwenden des Überwachungs-Stacks), sollten Sie die Anzahl der vCPUs im Cluster und den Umfang der gewünschten Metrikspeicherung berücksichtigen. Im Folgenden erfahren Sie, wie Sie die folgenden Konfigurationen der Überwachungsressourcen einstellen können.
In der folgenden Tabelle werden die Details des Überwachungsfelds beschrieben:
Parameter | Beschreibung |
---|---|
prometheus_retention | In Tagen.
Dies ist die Anzahl von Tagen, die die Metriken zum Zweck der Visualisierung in Grafana und der manuellen Abfrage über die Prometheus-Konsole gespeichert werden. Der Standardwert ist
7 .
|
prometheus_storage_size |
In GB. Menge des zu reservierenden Speicherplatzes pro Prometheus-Replikat. Eine gute Faustregel ist es, diesen Wert festzulegen auf:
Beispiel: Wenn Sie
prometheus_retention auf 14 Tage festlegen und Ihr Cluster über 80 Kerne verfügt, die auf 5 Maschinen verteilt sind, wird dies zu:
Der Standardwert ist
45 und darf nicht niedriger angesetzt werden.
Wird der Speicherplatz in Prometheus knapp, dann wird eine Warnung mit spezifischen Anweisungen zur Behebung des Problems ausgelöst. |
prometheus_memory_limit |
In MB. Die Speichermenge, auf die jedes Prometheus-Replikat begrenzt werden soll. Eine gute Faustregel ist es, diesen Wert festzulegen auf:
Beispiel: Wenn Sie
prometheus_retention auf 14 Tage festgelegt haben und Ihr Cluster über 80 Kerne verfügt, die auf 5 Maschinen verteilt sind, wird dies zu:
Der Standardwert für den Auswertungsmodus mit einem Knoten ist
3200 , für den HA-fähigen Produktionsmodus mit mehreren Knoten ist der Standardwert 6000 ; dieser darf nicht niedriger angesetzt werden.
Wird der Arbeitsspeicher in Prometheus knapp, dann wird eine Warnung mit spezifischen Anweisungen zur Behebung des Problems ausgelöst. Siehe hier. |
Beispiel:
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
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": "<Comma separated list of ips that should not got though proxy server>"
}
"proxy": {
"enabled": "true",
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "<Comma separated list of ips that should not got though proxy server>"
}
- Lassen Sie den Port
30070
auf der VM für eingehende und ausgehende Aufrufe zu.Obligatorische Parameter Beschreibung enabled
Verwenden Sie true
oderfalse
, um die Proxyeinstellungen zu aktivieren oder zu deaktivieren.http_proxy
Wird zum Weiterleiten von ausgehenden HTTP-Anfragen aus dem Cluster verwendet. Dies muss der FQDN und Port des Proxyservers sein. https_proxy
Wird zum Weiterleiten von ausgehenden HTTPS-Anfragen aus dem Cluster verwendet. Dies muss der FQDN und Port des Proxyservers sein. no_proxy
Eine kommagetrennte Liste von Hosts, IP-Adressen oder IP-Bereichen im CIDR-Format, die Sie nicht über den Proxyserver weiterleiten möchten. Dies muss ein privater Subnetzbereich, ein SQL Server-Host, eine benannte Serveradresse und eine Metadatenserveradresse sein: *.<fqdn>,<fixed_rke_address>:9345,<fixed_rke2_address>:6443
.fqdn
– der Cluster-FQDN, der incluster_config.json
definiert ist.fixed_rke_address
– Derfixed_rke_address
definiert incluster_config.json
named server address
– die IP-Adresse von/etc/resolv.conf
private_subnet_ip
– das Cluster-VNETsql server host
– SQL-Serverhostmetadata server address
– die IP-Adresse169.254.169.254
, die zum Abrufen von Maschinen-Metadaten von Clouddiensten wie Azure und AWS verwendet wird
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
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.
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
"zone_resilience": true
Obligatorische Parameter | Beschreibung |
---|---|
zone_resilience | Verwenden Sie true oder false zum Aktivieren oder Deaktivieren der Widerstandsfähigkeit gegenüber zonalen Ausfällen.
|
/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.
Weitere Details zu einer bekannten Einschränkung finden Sie in der Kubernetes-Dokumentation.
Optionale Parameter | Beschreibung |
---|---|
.infra.custom_dns_resolver | Pfad zur Datei mit korrekten Nameserver-Einträgen, auf die von einer beliebigen Stelle der VM zugegriffen werden kann. Diese Nameserver-Einträge dürfen nicht aus 127.0.0.0/8 sein.
|
- Allgemeine Konfiguration
- Einrichten von Zertifikaten
- Datenbankkonfiguration
- Automatisches Erstellen der erforderlichen Datenbanken
- Mitbringen Ihrer eigenen Datenbank
- Konfiguration der Überwachung
- Optional: Hinzufügen der Proxykonfiguration
- Optional: Aktivieren der Widerstandsfähigkeit gegen zonale Ausfälle in einem HA-fähigen Produktionscluster mit mehreren Knoten
- Optional: Übergeben einer benutzerdefinierten resolv.conf-Datei