automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

Automation Suite in OpenShift – Installationsanleitung

Letzte Aktualisierung 18. Dez. 2024

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:

Hinweis:

Sie müssen die Befehle, auf die in diesem Abschnitt verwiesen wird, von einer Linux-, Windows- oder macOS-Maschine aus ausführen, die Zugriff auf den OpenShift Kubernetes API-Server hat.

Schritt 1: Erstellen eines Dienstkontos

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

  1. Erstellen Sie den Namespace und das Projekt <uipath> :
    oc get namespace <uipath> || oc new-project <uipath>oc get namespace <uipath> || oc new-project <uipath>
  2. Legen Sie den Standard-Namespace und das Projekt auf <uipath>:
    oc project <uipath>oc project <uipath>
    Alle nachfolgenden oc -Befehle werden innerhalb des <uipath> -Namespace ausgeführt.
  3. Erstellen Sie ein Dienstkonto mit dem Namen uipathadmin:
    oc create serviceaccount uipathadminoc create serviceaccount uipathadmin
  4. Verwenden Sie die vorhandene admin , um dem Dienstkonto uipathadmin im Namespace <uipath> Administratorberechtigungen zu gewähren:
    oc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadminoc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin

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:
oc apply -f <file_name.yaml>oc 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"]
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:
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
  --role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
  --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
  --clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
  --role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin

## This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
  --clusterrole=admin --serviceaccount=<uipath>:uipathadminoc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
  --role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
  --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
  --clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
  --role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin

## This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
oc -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:
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
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:
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
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–2024 UiPath. Alle Rechte vorbehalten