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

Automation Suite in OpenShift – Installationsanleitung

Letzte Aktualisierung 18. Dez. 2024

Installieren und Konfigurieren des Dienstgeflechts

Die Automation Suite erfordert das Istio-Dienstgeflecht für Ingress und Netzwerk.

Red Hat stellt OpenShift Service Mesh bereit, das intern auf Istio basiert.

Die Installation und Konfiguration von Service Mesh ist ein zweistufiger Prozess. Welche der Schritte Sie ausführen müssen, hängt davon ab, ob Sie dem Automation Suite-Installationsprogramm Administratorberechtigungen über Ihren Cluster gewähren können oder nicht. Weitere Informationen finden Sie in der folgenden Tabelle:

Schritt

Administratorrechte

Keine Administratorrechte

Schritt 1: Installieren des Dienstgeflechts

Erforderlicher Schritt

Erforderlicher Schritt

Schritt 2: Konfigurieren von Istio und Installieren des Wasm-Plugins für das Routing

Schritt nicht erforderlich

Erforderlicher Schritt

Schritt 1: Installieren des Dienstgeflechts

Um OpenShift Service Mesh zu installieren, befolgen Sie die Anweisungen in der OpenShift Service Mesh-Dokumentation.

Hinweis:

Die Automation Suite erfordert keine Anwendungen wie AIli und Jaeger. Sie können sie jedoch nach eigenem Ermessen verwenden.

UiPath® gibt keine Empfehlungen zur Konfiguration des Service Mesh-Operators für die Ausführung auf einem Knoten.

Um die OpenShift Service Mesh-Steuerebene zu erstellen, befolgen Sie die Anweisungen in der Dokumentation zur OpenShift Service Mesh-Steuerebene. Stellen Sie sicher, dass Sie auch die folgenden Schritte ausführen:
  1. Installieren Sie die neue Instanz der Dienstgeflecht-Steuerungsebene im Namespace <istio-system> .
  2. Verwenden Sie den Modus ClusterWide für die Steuerungsebene des Dienstgeflechts. Informationen zum Modus MultiTenant finden Sie unter Punkt 3 auf dieser Seite. Der folgende Block muss im Abschnitt spec der Ressource ServiceMeshControlPlane vorhanden sein:
    gateways:
        enabled: true
        openshiftRoute:
          enabled: true
      mode: ClusterWide  gateways:
        enabled: true
        openshiftRoute:
          enabled: true
      mode: ClusterWide
    Informationen zum Deaktivieren der OpenShift-Route finden Sie unter Punkt 4 auf dieser Seite.
  3. Sie können den Modus MultiTenant für die Service Mesh-Steuerungsebene verwenden. Dieses Szenario erfordert, dass Sie explizit eine Service Mesh-Mitgliederrolle erstellen, wie im folgenden Beispiel gezeigt:
    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: <istio-system>
    spec:
      members:
        - <uipath>apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: <istio-system>
    spec:
      members:
        - <uipath>
  4. Sie haben auch die Möglichkeit, die OpenShift-Route zu deaktivieren. Diese Auswahl bringt jedoch den zusätzlichen Aufwand mit sich, dass Sie manuell eine Route für den FQDN erstellen müssen. Informationen zur manuellen Routenerstellung finden Sie im folgenden Beispiel:
    kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: uipath-route
      namespace: <istio-system>
      labels:
        app: istio-ingressgateway
        app.kubernetes.io/part-of: istio
        app.kubernetes.io/instance: <istio-system>
        maistra.io/owner-name: basic
        release: istio
        app.kubernetes.io/version: 2.6.1-1-1
        app.kubernetes.io/component: istio-ingress
        maistra-version: 2.6.1
        istio: ingressgateway
        app.kubernetes.io/managed-by: maistra-istio-operator
        maistra.io/owner: <istio-system>
        istio.io/rev: basic
        app.kubernetes.io/name: istio-ingress
    spec:
      to:
        kind: Service
        name: istio-ingressgateway
      tls:
        termination: passthrough
        insecureEdgeTerminationPolicy: Redirect
      host: <fqdn>
      port:
        targetPort: https
      alternateBackends: []kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: uipath-route
      namespace: <istio-system>
      labels:
        app: istio-ingressgateway
        app.kubernetes.io/part-of: istio
        app.kubernetes.io/instance: <istio-system>
        maistra.io/owner-name: basic
        release: istio
        app.kubernetes.io/version: 2.6.1-1-1
        app.kubernetes.io/component: istio-ingress
        maistra-version: 2.6.1
        istio: ingressgateway
        app.kubernetes.io/managed-by: maistra-istio-operator
        maistra.io/owner: <istio-system>
        istio.io/rev: basic
        app.kubernetes.io/name: istio-ingress
    spec:
      to:
        kind: Service
        name: istio-ingressgateway
      tls:
        termination: passthrough
        insecureEdgeTerminationPolicy: Redirect
      host: <fqdn>
      port:
        targetPort: https
      alternateBackends: []
    
    Warnung: Das Deaktivieren der OpenShift-Route führt bei der Ausführung der Voraussetzungsprüfungen zu dem folgenden Fehler:
    [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] error accessing the url. unexpected status code: 503 ❌ [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] error accessing the url. unexpected status code: 503

Installieren einer bestimmten Version von OpenShift Service Mesh

Verwenden Sie eine YAML-Datei, um eine bestimmte Version von OpenShift Service Mesh (OSSM) zu installieren. Mit der folgenden Beispieldatei wird die OSSM-Version 2.4.5 installiert:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: servicemeshoperator
  namespace: openshift-operators
spec:
  channel: stable
  installPlanApproval: Manual
  name: servicemeshoperator
  source: redhat-operators
  sourceNamespace: openshift-marketplace
  startingCSV: servicemeshoperator.v2.4.5apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: servicemeshoperator
  namespace: openshift-operators
spec:
  channel: stable
  installPlanApproval: Manual
  name: servicemeshoperator
  source: redhat-operators
  sourceNamespace: openshift-marketplace
  startingCSV: servicemeshoperator.v2.4.5
Wenn Sie eine andere OSSM-Version installieren möchten, ersetzen Sie servicemeshoperator.v2.4.5 durch den richtigen Wert für Ihre Version in der YAML-Datei. Um beispielsweise die OSSM-Version 2.5.0 zu installieren, geben Sie servicemeshoperator.v2.5.0 ein.
Führen Sie den folgenden Befehl aus, um OSSM zu installieren:
oc apply -f <yaml>oc apply -f <yaml>
Ersetzen Sie den Platzhalter <yaml> im Beispielbefehl durch den Namen Ihrer YAML-Datei.
Wichtig: Nach der Installation von OSSM müssen Sie die Installation manuell genehmigen.

Wechseln Sie in der OpenShift -Konsole zu Operatoren > Installierte Operatoren > Servicemeshopperator > 1 erfordert Genehmigung > Vorschau des Installationsplans > Genehmigen.

Bereitstellen der Istio-Konfiguration

Um die Istio-Konfiguration bereitzustellen, müssen Sie die folgenden Parameter in der input.json -Datei festlegen:
"ingress": {
  "gateway_selector": {
    "istio": "ingressgateway"
  },
  "ingress_gateway_secret": "istio-ingressgateway-certs",
  "namespace": "<istio-system>"
},"ingress": {
  "gateway_selector": {
    "istio": "ingressgateway"
  },
  "ingress_gateway_secret": "istio-ingressgateway-certs",
  "namespace": "<istio-system>"
},
Weitere Informationen zu den Istio-Konfigurationsparametern finden Sie in der folgenden Tabelle:

Parameter

Wert

ingress.gateway_selector.istio
Standardwert: ingressgateway

Wenn Sie den Wert geändert haben, verwenden Sie den folgenden Befehl, um den richtigen Wert abzurufen:

oc -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.metadata.labels.istio}"; echooc -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.metadata.labels.istio}"; echo
ingress.ingress_gateway_secret
Der Name des geheimen Schlüssels, der die Zertifikatsdateien enthält. Der Standardwert ist istio-ingressgateway-certs.
ingress.namespaceDer Namespace, in dem Sie das Dienstgeflecht installiert haben.

Schritt 2: Konfigurieren von Istio und Installieren des Wasm-Plugins für das Routing

Überblick

Wichtig:

Dieser Schritt erfordert Administratorrechte für die Installation im Istio-Namespace.

Es gibt zwei Möglichkeiten, die Installation durchzuführen:
  • Option A: Wenn Sie die Berechtigungen, die das Automation Suite-Installationsprogramm erfordert, nicht bereitstellen können, müssen Sie diesen Schritt vor der Installation der Automation Suite ausführen.

  • Option B: Während der Installation der Automation Suite. Diese Methode erfordert, dass die Kubeconfig-Datei, die Sie während der Automation Suite-Installation verwenden, über die erforderlichen Berechtigungen verfügt. Informationen zum Überprüfen der Berechtigungen finden Sie im Abschnitt Erteilen von Installationsberechtigungen . Wenn Sie alle erforderlichen Berechtigungen erteilen können, überspringen Sie diesen Schritt.

Voraussetzungen

Bevor Sie Istio konfigurieren und das WASM-Plugin für das Routing installieren, müssen die folgenden Voraussetzungen erfüllt sein:
  • Verwenden Sie eine Linux-, Windows- oder macOS-Maschine mit Zugriff auf den OpenShift Kubernetes API-Server.

  • Installieren Sie den OpenShift-CLI-Client auf Ihrer Maschine. Weitere Informationen finden Sie unter OpenShift-CLI (OC).

  • Installieren Sie Helm 3.14 oder höher auf der Maschine, von der Sie das WASM-Plugin installieren möchten, und authentifizieren Sie Helm bei Ihrer privaten Registrierung. Führen Sie die folgenden Schritte aus, um Helm zu installieren und zu authentifizieren:

    1. Laden Sie die Helm-Binärdateien herunter und installieren Sie sie auf Ihrer Maschine. Weitere Informationen finden Sie in der Helm-Dokumentation.

    2. Authentifizieren Sie Helm bei Ihrer Registrierung, indem Sie die Anweisungen in der Helm-Dokumentation befolgen. Alternativ können Sie den folgenden Befehl verwenden und die Beispielwerte durch Ihre tatsächliche Registrierungs-URL und Anmeldeinformationen ersetzen:
      helm registry login my.registry.io:443 --username "admin" --password "secret"helm registry login my.registry.io:443 --username "admin" --password "secret"

Konfiguration und Installation

Führen Sie die folgenden Schritte aus, um Istio zu konfigurieren und das WASM-Plugin für das Routing zu installieren:

  1. Erstellen Sie ein imagepullsecret in dem Namespace, in dem Sie das Dienstgeflecht installiert haben. Um die imagepullsecret zu erstellen, verwenden Sie Ihren typischen Workflow oder führen Sie die folgenden Schritte aus:
    registry= <registry_url> #provide the registry where the UiPath images are hosted
    username= <user_name> #provide the username which will be used for the authentication
    password= <password> #provide the password which will be used for the authentication
    namespace= <namespace> #namespace where you want to create a secret
    
    oc create secret docker-registry uipathpullsecret --namespace=${namespace} \
      --docker-server=${registry} --docker-username=${username} \
      --docker-password=${password} --dry-run=client -o yaml \
      | oc apply -f -registry= <registry_url> #provide the registry where the UiPath images are hosted
    username= <user_name> #provide the username which will be used for the authentication
    password= <password> #provide the password which will be used for the authentication
    namespace= <namespace> #namespace where you want to create a secret
    
    oc create secret docker-registry uipathpullsecret --namespace=${namespace} \
      --docker-server=${registry} --docker-username=${username} \
      --docker-password=${password} --dry-run=client -o yaml \
      | oc apply -f -
  2. Rufen Sie das Helm-Diagramm in ein lokales Verzeichnis ab, <uipath-istio-configure>:
    helm pull oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \
    --untar --untardir <uipath-istio-configure>helm pull oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \
    --untar --untardir <uipath-istio-configure>
    Das folgende Beispiel zeigt den Befehl, nachdem Sie die Platzhalter durch tatsächliche Werte ersetzt haben:
    helm pull oci://registry.mycompany.com/helm/istio-configure --version 2024.10.0 \
    --untar --untardir uipath-istio-configurehelm pull oci://registry.mycompany.com/helm/istio-configure --version 2024.10.0 \
    --untar --untardir uipath-istio-configure
  3. Erstellen Sie eine Parameterwertedatei, die während der Helm-Installation von istio-configure werden soll. Verwenden Sie das folgende Beispiel als Vorlage für die Datei und ersetzen Sie die Platzhalter <fqdn>, <pullsecret>, <registry> und <uipath_namespace> durch entsprechende Werte:
    fqdn: <fqdn>    #the FQDN of the Automation Suite
    gateway:
      selector:
        istio: ingressgateway
    global:
      imagePullSecret:
        name: <pullsecret>    #name of pull secret which you had create earlier
    minProtocolVersion: TLSV1_2   #TLS versions
    uipath:
      registry: <registry>    #registry url without the protocol 
    uipathServiceNamespace: <uipath_namespace>   #namespace where the uipath application is deployed
    patchIstioService: false
    wasm:
      image:
        pullSecret: <pullsecret>    #name of pull secret which you had create earlier
        registry: oci://<registry>   #registry url without the protocolfqdn: <fqdn>    #the FQDN of the Automation Suite
    gateway:
      selector:
        istio: ingressgateway
    global:
      imagePullSecret:
        name: <pullsecret>    #name of pull secret which you had create earlier
    minProtocolVersion: TLSV1_2   #TLS versions
    uipath:
      registry: <registry>    #registry url without the protocol 
    uipathServiceNamespace: <uipath_namespace>   #namespace where the uipath application is deployed
    patchIstioService: false
    wasm:
      image:
        pullSecret: <pullsecret>    #name of pull secret which you had create earlier
        registry: oci://<registry>   #registry url without the protocol
  4. Installieren Sie istio-configure im Istio-Namespace mithilfe von Helm. Ersetzen Sie im folgenden Befehl den Platzhalter <istio_namespace> durch den Namespace, in dem Istio installiert ist, und <path_to_the_values_yaml> durch den Speicherort der YAML-Datei, die die Parameterwerte enthält:
    helm upgrade --debug --install --wait custom-istio-configure \
      uipath-istio-configure/istio-configure --version 2024.10.0 \
      --namespace <istio_namespace> -f <path_to_the_values.yaml>helm upgrade --debug --install --wait custom-istio-configure \
      uipath-istio-configure/istio-configure --version 2024.10.0 \
      --namespace <istio_namespace> -f <path_to_the_values.yaml>
  5. Wenn Sie eine Registrierung verwenden, die nicht von einer bekannten Stelle signiert ist, müssen Sie die Umgebungsvariable WASM_INSECURE_REGISTRIES zur istio-ingressgateway -Bereitstellung hinzufügen, damit Istio das Image abrufen kann, das das Wasm-Plugin verwendet. Führen Sie den folgenden Befehl aus, um die Umgebungsvariable hinzuzufügen:
    oc -n <istio-system> patch deployment istio-ingressgateway --type="json" --patch='[{"op":"add", "path": "/spec/template/spec/containers/0/env/-", "value": {"name": "WASM_INSECURE_REGISTRIES", "value": "customer-registry.com"}}]'oc -n <istio-system> patch deployment istio-ingressgateway --type="json" --patch='[{"op":"add", "path": "/spec/template/spec/containers/0/env/-", "value": {"name": "WASM_INSECURE_REGISTRIES", "value": "customer-registry.com"}}]'
  6. Fügen Sie istio-configure zum Abschnitt exclude_components in Ihrer input.json -Datei hinzu.
  7. Erstellen Sie Zertifikatsgeheimnisse mithilfe des in ingress.ingress_gateway_secret angegebenen Namens im Namespace <istio-system> .
Hinweis:

Wenn Sie den FQDN nach der Installation aktualisieren, gilt eines der folgenden Szenarien:

  • Wenn Sie dem Automation Suite-Installationsprogramm Administratorberechtigungen erteilen und die istio-configure -Komponente nicht zur Liste exclude_components in Ihrer input.json -Datei hinzugefügt haben, müssen Sie keinen zusätzlichen Schritt ausführen.
  • Wenn Sie dem Automation Suite-Installationsprogramm keine Administratorberechtigungen erteilen und die istio-configure -Komponente zur Liste exclude_components in Ihrer input.json -Datei hinzugefügt haben, müssen Sie die folgenden Schritte ausführen:
    1. Aktualisieren Sie die in Punkt 3 genannte Parameterwertedatei mit dem neuen FQDN.

    2. Wiederholen Sie alle Schritte zum Konfigurieren von Istio und zum Installieren des WASM-Plugins für das Routing.

War diese Seite hilfreich?

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