automation-suite
2024.10
true
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Automation Suite auf EKS/AKS-Installationsanleitung

Letzte Aktualisierung 10. Feb. 2025

Erteilen von Installationsberechtigungen

Wichtig:

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.

Führen Sie die folgenden Schritte aus, um alle für die Installation erforderlichen Berechtigungen zu konfigurieren:

Schritt 1: Erstellen eines Dienstkontos

Führen Sie die folgenden Schritte aus, um ein Dienstkonto zu erstellen:

  1. Erstellen Sie den Namespace <uipath>:
    kubectl create namespace <uipath>kubectl create namespace <uipath>
  2. Erstellen Sie ein Dienstkonto mit dem Namen uipathadmin:
    kubectl create serviceaccount uipathadmin -n <uipath> kubectl create serviceaccount uipathadmin -n <uipath>
  3. Verwenden Sie die vorhandene admin , um dem Dienstkonto uipathadmin im 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 entsprechende Konfiguration aus der folgenden Tabelle kopieren:

Abbildung 1. Berechtigungen für die Automation Suite-Installation

Berechtigungen

Zweck

Konfiguration

Namespace abfragen [schreibgeschützt]

Erforderlich, um zu überprüfen, ob die Namespaces, z. B. der Namespace <istio-system> , verfügbar sind oder nicht.
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 Diagnose des Zustands benötigt diese Berechtigung, um die Knotenvalidierungen durchzuführen, z. B. die auf dem Knoten verfügbare Kapazität.

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"]

Rufen Sie Speicherklassen ab

[schreibgeschützt]

Das Tool zur Voraussetzungsprüfung und zur Diagnose des Zustands benötigt diese Berechtigung, um die Validierungen durchzuführen.

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 erfolgt über ArgoCD. die Installation einiger Komponenten erfolgt jedoch per Helm-Chart.

Das Tool uipathctl führt einen Installationsauftrag aus, der die Installation des Helm-Charts ausführt. Das Herstellen einer Verbindung mit kube-api-server und das Installieren des Helm-Charts im <uipath> -Namespace erfordert eine Rollenerstellerrolle auf Namespace-Ebene.
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]
Hinweis:

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:
  1. Das Automation Suite-Voraussetzungsüberprüfungstool liest die Pods und Dienste im <istio-system> -Namespace, um zu überprüfen, ob Istio ordnungsgemäß installiert und konfiguriert ist.
  2. Die Automation Suite installiert das Wasm-Plugin im Namespace <istio-system> , um die pfadbasierten Routing-Regeln zu konfigurieren.
    Die Installation erfordert die Erstellung einer imagepullsecret , die im WASM Helm-Chart verwendet wird, um das Image aus der Registrierung abzurufen.
    Zudem ist ein Rollenersteller für den Namespace <istio-system> erforderlich. Hier führt uipathctl einen Pod aus, der das Helm-Chart verwendet, um das WASM-Plugin für das Routing zu installieren.
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]
Hinweis:

Stellen Sie diese Berechtigungen bereit, wenn Sie Istio bereits konfiguriert und das WASM-Plugin installiert haben.

Die folgenden Vorgänge werden im Namespace <istio-system> ausgeführt:
  1. Das Automation Suite-Voraussetzungsüberprüfungstool liest die Pods und Dienste im <istio-system> -Namespace, um zu überprüfen, ob Istio ordnungsgemäß installiert und konfiguriert ist.
  2. Die Berechtigung get secrets ist erforderlich, um die Zertifikatsdatei aus dem Namespace <istio-system> in den Namespace <uipath> zu kopieren.
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>:uipathadminkubectl -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

Hinweis: 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.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2025 UiPath. Alle Rechte vorbehalten