- Überblick
- Anforderungen
- Vor der Installation
- Vorbereiten der Installation
- Herunterladen der Installationspakete
- Konfigurieren der OCI-konformen Registrierung
- Erteilen von Installationsberechtigungen
- Installieren und Konfigurieren des Dienstgeflechts
- Installieren und Konfigurieren des GitOps-Tools
- Installieren des Operators „Externe Geheimnisse“ in Kubernetes
- Anwenden verschiedener Konfigurationen
- Ausführen von uipathctl
- Installation
- Nach der Installation
- Migration und Upgrade
- Überwachung und Warnungen
- Clusterverwaltung
- Produktspezifische Konfiguration
- Erweiterte Orchestrator-Konfiguration
- Konfigurieren von Orchestrator-Parametern
- Konfigurieren von AppSettings
- Konfigurieren der maximalen Anforderungsgröße
- Überschreiben der Speicherkonfiguration auf Clusterebene
- Konfigurieren von NLog
- Speichern von Roboterprotokollen in Elasticsearch
- Konfigurieren von Anmeldeinformationsspeichern
- Konfigurieren der Verwendung von einem Verschlüsselungsschlüssel pro Mandant
- Bereinigen der Orchestrator-Datenbank
- Installation der Hostbibliothek überspringen
- AI Trust Layer
- Fehlersuche und ‑behebung
- AI Center-Bereitstellungsfehler nach Upgrade auf 2023.10 oder höher
- Insights-Volumes, die nach der Migration in zwei verschiedenen Zonen erstellt wurden
- Upgrade schlägt aufgrund überschriebener Insights-PVC-Größen fehl
- Velero-Backup-Komponenten bleiben nach dem Upgrade auf AKS von Automation Suite 2024.10.x erhalten
- Das Sicherungssetup funktioniert nicht, da die Verbindung mit Azure Government fehlgeschlagen ist
- Hängende Pods im uipath-Namespace bei Aktivierung von benutzerdefinierten Knoten-Markierungen
- Automation Hub und Apps können mit Proxy-Setup nicht gestartet werden
- Die Velero-Sicherung schlägt mit dem Fehler „FehlgeschlageneValidierung“ fehl
- Fehlerbehebung bei externen Geheimnissen
- Temporär als Dienst-Fehlerbehebung
- AI Center und Document Understanding Pods können bei aktivierter TLS-Zertifikatsverifizierung nicht gestartet werden
- Validierungsfehler beim TLS-Zertifikat
- Fluentd exportiert keine Protokolle in IPv6-Umgebungen
- Studio Desktop kann keine Integration Service-Connectors und -Aktivitäten laden
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Konfigurieren von Ressourcenanforderungen und Limits für von uipathctl erstellte Workloads
Erteilen von Installationsberechtigungen
Gewähren Sie die erforderlichen Berechtigungen für die Automation Suite-Installation auf EKS/AKS.
Installationsberechtigungen sind nur relevant, wenn Sie dem Automation Suite-Installationsprogramm keine Administratorrechte zur Verfügung stellen können. Wenn Sie dem Installationsprogramm die erforderlichen Administratorrechte zur Verfügung stellen können, müssen Sie die Anweisungen in diesem Abschnitt nicht befolgen.
Die Automation Suite benötigt während der Installation bestimmte Berechtigungen. Diese Berechtigungen werden dem Dienstkonto zugewiesen, das eine wichtige Rolle bei der Installation der verschiedenen Automation Suite-Komponenten spielt.
Um alle für die Installation erforderlichen Berechtigungen zu konfigurieren, führen Sie die Schritte in diesem Abschnitt aus.
Schritt 1: Erstellen eines Dienstkontos
Führen Sie die folgenden Schritte aus, um ein Dienstkonto zu erstellen:
- Erstellen Sie den Namespace
<uipath>:kubectl create namespace <uipath>kubectl create namespace <uipath> - Erstellen Sie ein Dienstkonto mit dem Namen
uipathadmin:kubectl create serviceaccount uipathadmin -n <uipath>kubectl create serviceaccount uipathadmin -n <uipath> - Verwenden Sie die vorhandene
admin, um dem Dienstkontouipathadminim Namespace<uipath>Administratorberechtigungen zu gewähren:kubectl create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin -n <uipath>kubectl create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin -n <uipath>
Schritt 2: Erstellen der erforderlichen Rollen
Das Dienstkonto uipathadmin benötigt während der Installation der Automation Suite bestimmte Berechtigungen. Sie stellen die erforderlichen Berechtigungen bereit, indem Sie Rollen erstellen. Um jede Rolle zu erstellen, speichern Sie deren Konfiguration als YAML-Datei und führen Sie den folgenden Befehl aus, wobei Sie den Platzhalter <file_name.yaml> durch den tatsächlichen Namen der YAML-Datei ersetzen:
kubectl apply -f <file_name.yaml>
kubectl apply -f <file_name.yaml>
Sie können die YAML-Datei für jede Rolle erstellen, indem Sie die Konfiguration aus den folgenden Abschnitten kopieren.
Namespace abfragen [schreibgeschützt]
Erforderlich, um zu überprüfen, ob die Namespaces, z. B. der Namespace <istio-system> , verfügbar sind oder nicht.
Das folgende Beispiel zeigt die namespace-reader-clusterrole ClusterRole-Konfiguration:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
Knoten und CRDs auflisten [schreibgeschützt]
Das Tool zur Voraussetzungsprüfung und zur Diagnosezustandsprüfung erfordert diese Berechtigung, um Knotenvalidierungen durchzuführen, z. B. die auf dem Knoten verfügbare Kapazität.
Das folgende Beispiel zeigt die list-nodes-and-crd-clusterrole ClusterRole-Konfiguration:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
Wenn diese Berechtigungen in Ihrem Cluster nicht verfügbar sind, können Automation Suite Robots die maximale Anzahl gleichzeitiger Aufträge nicht automatisch bestimmen. Um den Grenzwert explizit zu definieren, konfigurieren Sie concurrency_limit im Abschnitt asrobots von input.json. Weitere Informationen finden Sie unter Spezifische Konfiguration für Automation Suite Robots.
Speicherklassen abrufen [schreibgeschützt]
Das Tool zur Voraussetzungsprüfung und zur Diagnose des Zustands benötigt diese Berechtigung, um die Validierungen durchzuführen.
Das folgende Beispiel zeigt die storage-class-reader ClusterRole-Konfiguration:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: storage-class-reader
rules:
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: storage-class-reader
rules:
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get"]
uipath Rollen [schreiben]
Der größte Teil der Automation Suite-Installation wird über ArgoCD ausgeführt. Einige Komponenten werden jedoch über Helm-Charts installiert.
Das uipathctl -Tool führt einen Installationsauftrag aus, der die Helm-Chart-Installation ausführt. Das Herstellen einer Verbindung mit dem kube-api-server und das Installieren des Helm-Charts im <uipath> -Namespace erfordert eine Rollenerstellerrolle auf Namespace-Ebene.
Das folgende Beispiel zeigt die Konfiguration der Rolle uipath-automationsuite-role :
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["*"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["*"]
<istio-system> Rollen [schreiben]
Stellen Sie diese Berechtigungen nur bereit, wenn das Installationsprogramm das WASM-Plugin konfigurieren soll. Andernfalls stellen Sie die Berechtigungen nicht bereit.
Die folgenden Vorgänge werden im Namespace <istio-system> ausgeführt:
- Das Voraussetzungsüberprüfungstool der Automation Suite liest Pods und Dienste, um zu überprüfen, ob Istio installiert und ordnungsgemäß konfiguriert ist.
- Die Automation Suite installiert das WASM-Plugin, um pfadbasierte Routing-Regeln zu konfigurieren. Dies erfordert das Erstellen eines Image-Pull-Geheimnisses und Berechtigungen für die Erstellung von Rollen auf Namespace-Ebene.
Das folgende Beispiel zeigt die Konfiguration der Rolle istio-system-automationsuite-role :
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
<istio-system> Rollen [schreibgeschützt]
Stellen Sie diese Berechtigungen bereit, wenn Istio und das WASM-Plugin bereits konfiguriert sind.
Die folgenden Vorgänge werden im Namespace <istio-system> ausgeführt:
- Lesen Sie Pods und Dienste, um die Istio-Installation zu validieren.
- Die Berechtigung
get secretsist erforderlich, um die Zertifikatsdatei aus dem Namespace<istio-system>in den Namespace<uipath>zu kopieren.
Das folgende Beispiel zeigt die Konfiguration der Rolle istio-system-automationsuite-role :
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
Schritt 3: Binden der Rollen
Sie müssen die Rollen, die Sie im vorherigen Schritt erstellt haben, an das uipathadmin -Dienstkonto binden, indem Sie die folgenden Befehle ausführen:
kubectl -n <istio-system> create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding storage-class-reader-binding \
--clusterrole=storage-class-reader --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
kubectl -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
kubectl -n <uipath> create clusterrolebinding storage-class-reader-binding \
--clusterrole=storage-class-reader --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
kubectl -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
Schritt 4: Generieren der kubeconfig-Datei
Nachdem Sie dem Dienstkonto alle Berechtigungen zugewiesen haben, müssen Sie eine kubeconfig -Datei erstellen, um sie an das uipathctl -Tool für die Installation zu übergeben.
Generieren der kubeconfig-Datei unter Linux oder Mac
Um die kubeconfig -Datei unter Linux oder Mac zu generieren, führen Sie die folgenden Befehle aus:
# Create a token
token="$(kubectl -n <uipath> create token uipathadmin --duration=8760h)"
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
kube_user_name="$(kubectl config view -o jsonpath="{.users[0].name}")"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
# Create a token
token="$(kubectl -n <uipath> create token uipathadmin --duration=8760h)"
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
kube_user_name="$(kubectl config view -o jsonpath="{.users[0].name}")"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
Wenn der Vorgang erfolgreich war, sollten Sie eine kubeconfig -Datei mit dem Namen uipathadminkubeconfig sehen.
Generieren der kubeconfig-Datei unter Windows
Sie müssen diesen Schritt mit Windows Powershell ausführen.
Um die kubeconfig-Datei unter Windows zu generieren, führen Sie die folgenden Befehle aus:
# Create a token
$token = kubectl -n <uipath> create token uipathadmin --duration=8760h
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
$kube_user_name = kubectl config view -o jsonpath="{.users[0].name}"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
# Create a token
$token = kubectl -n <uipath> create token uipathadmin --duration=8760h
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
$kube_user_name = kubectl config view -o jsonpath="{.users[0].name}"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
Wenn der Vorgang erfolgreich war, sollten Sie eine kubeconfig -Datei mit dem Namen uipathadminkubeconfig im Ordner temp sehen.
- Schritt 1: Erstellen eines Dienstkontos
- Schritt 2: Erstellen der erforderlichen Rollen
- Namespace abfragen [schreibgeschützt]
- Knoten und CRDs auflisten [schreibgeschützt]
- Speicherklassen abrufen [schreibgeschützt]
uipathRollen [schreiben]<istio-system>Rollen [schreiben]<istio-system>Rollen [schreibgeschützt]- Schritt 3: Binden der Rollen
- Schritt 4: Generieren der kubeconfig-Datei
- Generieren der kubeconfig-Datei unter Linux oder Mac
- Generieren der kubeconfig-Datei unter Windows