UiPath Documentation
automation-suite
2023.4
false
Automation Suite in der EKS/AKS-Installationsanleitung
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.

Netzwerke

You must provision and configure Azure or AWS networking resources to ensure that Automation Suite on your cluster has connectivity and access to the cloud infrastructure prerequisites (e.g., storage, database, cache, and DNS). Depending on your networking architecture, this may include configuring VNETs / VPC, DNS, subnets, NSGs / security groups, NAT gateway, elastic IP, and internet gateway. For details, see Deployment scenarios.

Beachten Sie, dass je nach Workload-Skalierung möglicherweise mehr Replikate benötigt werden. Standardmäßig erfordert der HA-Modus zwei Replikate und kann bis zu zehn oder mehr Replikate umfassen. Stellen Sie sicher, dass Ihr Netzwerk diese Skalierungsstufe unterstützt.

Sie können ein beliebiges CNI verwenden, solange Pods miteinander kommunizieren können.

Es gibt Besonderheiten bei den Cloud-CNIs wie Azure CNI und Amazon VPC CNI, die keine internen oder privaten Pod-Networking-Subnetze unterstützen. Die Anzahl der für die Automation Suite erforderlichen Pods hängt von Ihrer Produktauswahl und der Workload-Skalierung ab. Beispielsweise benötigen Sie für eine Bereitstellung, bei der alle Dienste aktiviert und bei hoher Auslastung sind, möglicherweise über 400 IPs, um die Skalierungsanforderungen zu unterstützen. Aus diesem Grund empfehlen wir, einen CIDR-Bereich von mindestens /23 zuzuweisen.

Wichtig:

Die Automation Suite unterstützt nicht das IPv6-Internetprotokoll.

Benutzerdefinierter Ingress-Controller

If you have a custom ingress controller (NGINX), refer to Configuring NGINX ingress and skip the rest of the page.

Konfiguration des Lastausgleichs

Die Automation Suite stellt während der Installation einen Lastausgleich in Ihrem Namen bereit. Dem Lastausgleich müssen öffentliche oder private IP-Adressen zugewiesen werden, damit er die eingehenden FQDN-Anforderungen weiterleiten kann. Sie haben zwei Optionen, um den Lastausgleich zu konfigurieren:

  • Vorab zugewiesene IPs: Weisen Sie öffentliche oder private IPs für den Lastausgleich zu, konfigurieren Sie die DNS-Datensätze, um die FQDNs diesen IPs zuzuordnen, und geben Sie diese IPs als Teil des Ingress-Abschnitts von input.json an .
  • Dynamisch zugewiesene IPs: Wenn Sie keine IP-Adresse angeben, weist die Automation Suite dynamisch IPs aus dem Cluster-Subnetz dem Lastenausgleich zu.

Die Netzwerksicherheitsgruppen auf dem Lastenausgleich müssen HTTPS-Datenverkehr von Endclients über Port 443 zulassen. Standardmäßig konfigurieren wir den Lastausgleich so, dass er regelmäßige TCP-Zustandsprüfungen durchführt.

If using your own ingress like NGINX, make sure you meet the network requirements documented in Configuring NGINX ingress controller. When using Istio that deploys an NLB, note that it typically creates three listeners, which include ports 80, 443, and 15021. However, this is a typical setup, and your actual requirements may differ based on your exact circumstances, so adjust as needed.

Vorab zugewiesene IPs

Sie müssen die folgenden Dienstanmerkungen im Abschnitt ingress von input.json.

Eine Liste der Dienstanmerkungen in EKS finden Sie in der Dokumentation zum AWS Load Balancer.

Eine Liste der Dienstanmerkungen in AKS finden Sie in der Dokumentation zum Azure Load Balancer.

Beispiele für EKS-Anmerkungen

Die folgenden Beispiele zeigen, wie der Abschnitt ingress.service_annotations in input.json erstellt wird. Sie müssen vor der Installation einen AWS Load Balancer-Controller auf Ihrem EKS-Cluster bereitstellen, damit die Beispiele ordnungsgemäß funktionieren.

Das folgende Beispiel zeigt, wie elastische IPs von AWS zugewiesen und ein öffentlicher Lastausgleich bereitgestellt wird. Wenn Sie dieses Beispiel als Ausgangspunkt für Ihre Konfiguration verwenden, stellen Sie sicher, dass Sie die IPs durch tatsächliche Werte ersetzen.

"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }

Das folgende Beispiel zeigt, wie einem internen Lastenausgleich private IPs aus den EKS-Clustersubnetzen zugewiesen werden. Wenn Sie dieses Beispiel als Ausgangspunkt für Ihre Konfiguration verwenden, stellen Sie sicher, dass Sie die IPs und Subnetze mit tatsächlichen Werten aktualisieren.

 "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":"<IP_0>,<IP_1>",
      "service.beta.kubernetes.io/aws-load-balancer-subnets": "<SUBNET_ID_0>,<SUBNET_ID_1>",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
      "service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
    }
  }
 "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":"<IP_0>,<IP_1>",
      "service.beta.kubernetes.io/aws-load-balancer-subnets": "<SUBNET_ID_0>,<SUBNET_ID_1>",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
      "service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
    }
  }
Wichtig:

IPs und Subnetze müssen übereinstimmen.

Im vorherigen Beispiel ist <IP_0> in <SUBNET_0> und <IP_1> in <SUBNET_1>.

Beispiel für AKS-Anmerkungen

Das folgende Beispiel zeigt, wie öffentliche IPs von Azure zugewiesen und ein öffentlicher Lastausgleich bereitgestellt wird. Wenn Sie dieses Beispiel als Ausgangspunkt für Ihre Konfiguration verwenden, stellen Sie sicher, dass Sie die IPs mit tatsächlichen Werten aktualisieren.

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "false",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
    }
  }
...
...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "false",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
    }
  }
...

Das folgende Beispiel zeigt, wie private IPs einem internen Lastausgleich aus den AKS-Cluster-Subnetzen zugewiesen werden. Wenn Sie dieses Beispiel als Ausgangspunkt für Ihre Konfiguration verwenden, stellen Sie sicher, dass Sie die IPs und Subnetze mit den tatsächlichen Werten aktualisieren.

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
    }
  }
...
...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
    }
  }
...

DNS-Konfiguration

Stellen Sie sicher, dass die DNS-Datensätze so konfiguriert sind, dass sie die folgenden UiPath®-FQDNs dem Lastausgleich zuordnen:

  • FQDN
  • alm.FQDN
  • monitoring.FQDN
  • insights.FQDN (bei Installation von UiPath Insights)
Hinweis:

Der FQDN ist eine der Voraussetzungsprüfungen vor der Installation. Wenn Sie keine IP-Adresse angeben oder die FQDN-Zuordnung noch nicht durchgeführt haben, schlägt die Prüfung fehl.

Dynamisch zugewiesene IPs

Wenn Sie keine IPs in input.jsonangeben, weist die Automation Suite dynamisch die privaten IPs aus den Subnetzen der Arbeiterknoten zu. Führen Sie in diesem Szenario die Automation Suite Installation wie folgt aus.

EKS-Beispiel für input.json

...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": true
    }
  }
...
...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": true
    }
  }
...

AKS-Beispiel für input.json

...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  }
...
...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  }
...

Installationsschritte

Führen Sie in diesem Szenario das Installationsprogramm wie folgt aus:

  1. Führen Sie das Installationsprogramm nur bis zur Bereitstellung des Lastenausgleichs aus:

    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
    
  2. Rufen Sie den Hostnamen des Lastenausgleichs ab:

    kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
    kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
    
  3. Konfigurieren Sie Ihr DNS mit FQDNs, die dem Lastausgleichsendpunkt oder den IPs zugeordnet sind.

  4. Führen Sie das Installationsprogramm erneut aus, um die Installation abzuschließen:

    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    
Hinweis:

Beachten Sie, dass die Überprüfung der FQDN-Voraussetzungen ohne DNS-Zuordnung fehlschlägt. Voraussetzungsprüfungen sollen Ihnen die Gewissheit geben, dass Sie alle Voraussetzungen korrekt bereitgestellt haben, bevor Sie die Automation Suite installieren. Die Überprüfung des FQDN hindert Sie nicht daran, die Automation Suite zu installieren.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben