AI Center
2020.10
False
1. Provision an Azure AKS Cluster - Standalone 2020.10
Bannerhintergrundbild
Logo
AI Center
Letzte Aktualisierung 28. Juni 2023

1. Bereitstellen eines Azure AKS-Clusters

In diesem Abschnitt werden die Schritte beschrieben, die beim Bereitstellen eines AKS-Clusters für die Ausführung von AI Fabric in einer hochverfügbaren Konfiguration mit mehreren Knoten ausgeführt werden müssen.

Hinweis:
  • Die Installation von AI Fabric wird derzeit in einem neuen, dedizierten AKS-Cluster unterstützt. Ein freigegebener Cluster mit unbekannten Richtlinien/Einschränkungen kann eine zusätzliche Problemumgehung erfordern und wird offiziell nicht unterstützt.
  • Wenn Ihre AI Fabric-Nutzung sehr hoch ist und eine horizontale Skalierung erforderlich ist, um eine Vielzahl von KI-/ML-Anwendungsfällen in Ihrem Unternehmen zu unterstützen:
  • Sie benötigen eine hoch verfügbare Lösung, die über mehrere Bereiche hinweg bereitgestellt wird.
  • Mehrere Replikate für Core Services und ML-Dienste zur Notfallwiederherstellung und Skalierung erforderlich
  • Hochverfügbarer Cluster, von Azure verwaltet
  • Hoch verfügbare Containerregistrierung, die von Azure verwaltet wird
  • Hoch verfügbarer Cloudspeicher, verwaltet von Azure
  • Horizontaler Pod-Autoscaler, d. h. Skalierung der Anzahl an Pods für Core Services basierend auf Workload
  • Kubernetes Cluster Autoscaler: automatische Erhöhung der Anzahl an Knoten im AKS-Cluster nach Bedarf für CPU- und GPU-Knotenpools
  • Taints für GPU, um sicherzustellen, dass GPU-Ressourcen für den gewünschten Zweck verwendet werden
  • Zertifikate werden über den Cert Manager bereitgestellt und verwaltet

Voraussetzungen

  1. AKS-Cluster mit mindestens zwei Knotenpools. Mindestens ein Knotenpool mit GPU-Knoten und geeigneten Taints.
  2. Azure Container Registry in derselben RG wie im Cluster
  3. Ein Speicherkonto in derselben RG wie im Cluster
  4. Eine Application Insights-Instanz in derselben RG wie im Cluster
  5. SQL Server mit erstellten Datenbanken

Installationsschritte – Übersicht

Dieser Abschnitt bietet einen Überblick über die Schritte; in den nächsten beiden Abschnitten wird dieser Prozess detailliert beschrieben.

  1. Der Benutzer erstellt AKS-Cluster, Azure Container Registry, 1 Speicherkonto und 1 Application Insights-Instanz.
  2. Oneinstaller verwendet Folgendes als Eingabe:

    AKS Cluster name
    AKS Cluster Resource Group
    AKS Worker Resource Group
    ACR Endpoint
    ACR Name (Username)
    ACR Password
    Storage Account Name
    Storage Account Key
    Application Insights Key
    Flag to indicate whether to expose kotsadm service or not
    DNS Prefix Name for aifabricAKS Cluster name
    AKS Cluster Resource Group
    AKS Worker Resource Group
    ACR Endpoint
    ACR Name (Username)
    ACR Password
    Storage Account Name
    Storage Account Key
    Application Insights Key
    Flag to indicate whether to expose kotsadm service or not
    DNS Prefix Name for aifabric
  3. Dann meldet sich der Kunde bei shell.azure.com an und legt die richtige Abonnement-ID fest: "az account set --subscription"
  4. Shell sollte bereits kubectl installiert haben.
  5. Dann soll das One-Installer-Paket in die Shell kopiert und entpackt werden und bash setup.sh ausgeführt werden. Obige Werte können über die Befehlszeile übergeben werden, andernfalls fragt das Installationsprogramm danach.
  6. Geben Sie "azure" in die Plattformeingabe ein. Danach wird alles andere bereitgestellt.

Von One-Installer zu installierende Komponenten

  • KotsAdmin und Kots Application im aifabric-Namespace
  • Istio-Installation im istio-system-Namespace
  • Erstellen Sie Container in dem von ihnen bereitgestellten Speicherkonto (Äquivalent zu Buckets)
  • Wenden Sie die CORS-Richtlinie auf das Speicherkonto an
  • Weisen Sie das angegebene DNS-Präfix der öffentlichen IP des Istio-Gateways zu
  • Installieren Sie den Cert Manager im cert-manager-Namespace
  • Installieren Sie Velero (im velero-Namespace), erstellen Sie eine Sicherung und planen Sie regelmäßige Sicherungen.

Detaillierte Infra-Einrichtung

Erstellen eines AKS-Clusters

Überspringen Sie diesen Schritt, wenn Sie bereits einen AKS-Cluster installiert haben. Die Kubernetes-Version sollte 1.16, 1.17 oder 1.18 sein. Andere Versionen werden derzeit nicht unterstützt.

  1. Erstellen Sie eine Ressourcengruppe in Azure; Sie sollten die Rolle „Besitzer“ auf der Ressourcengruppenebene haben.
  2. Suchen Sie im Portal nach Kubernetes-Diensten und erstellen Sie eine neue AKS-Instanz.
  3. Wählen Sie die Ressourcengruppe aus, die Sie in Schritt #1a erstellt haben, und geben Sie einen geeigneten Clusternamen Ihrer Wahl an.
  4. Stellen Sie sicher, dass Sie über die Kubernetes-Version 1.16, 1.17, oder 1.18 verfügen.
  5. Knotengröße für Arbeiterknoten auswählen (empfohlene Mindestgröße Standard_D2_v3 mit 3 Knoten)
  6. Auf der Registerkarte „Authentifizierung“ –
    • Authentifizierungsmethoden, wählen Sie „Vom System zugewiesene verwaltete Identität“
  7. Auf der Registerkarte „Netzwerk“ –
    • Wählen Sie „Netzwerkkonfiguration“ als „Azure CNI“ aus
    • Wählen Sie „Netzwerkrichtlinie“ als Azure aus
    • Lassen Sie andere Felder gleich.
  8. Auf der Registerkarte „Integrationen“ –
    • Wenn Sie eine Containerregistrierung in derselben Ressourcengruppe haben, wählen Sie diese aus. Dies wird verwendet, um zur Laufzeit erstellte Docker-Images zu pushen.
    • Oder wählen Sie „Neu erstellen“ > Vergeben Sie einen passenden Registrierungsnamen > Aktivieren Sie die Option „Administratorbenutzer“
  9. Geben Sie auf der Registerkarte „Tags“ nach Bedarf geeignete Tags an.
  10. Klicken Sie auf „Überprüfen + Erstellen“ und erstellen Sie den Cluster.

Erstellen von Knotenpools

Das AI Center benötigt mindestens zwei Knotenpools, die in Ihrem Cluster erstellt werden müssen; einer wird erstellt, wenn Sie den Cluster erstellt haben. Zusätzlich müssen Sie einen weiteren erstellen. Einer dieser Knotenpools soll aus Knoten mit angehängten GPUs bestehen. Ob ein solcher Knotenpool existiert oder nicht, wird mithilfe der Taints auf dem Knotenpool identifiziert.

Wir suchen nach diesem Taint nvidia.com/gpu=present:NoSchedule

Um einen Knotenpool mit diesem Taint zu erstellen, können Sie den folgenden Befehl verwenden (Beispiel)

az aks nodepool add --name gpunodepool \)\)
      --enable-cluster-autoscaler \)\)
      --resource-group ${RESOURCEGROUP} \)\)
      --cluster-name ${AKSCLUSTERNAME} \)\)
      --node-vm-size Standard_NC6 \)\)
      --node-taints nvidia.com/gpu=present:NoSchedule \)\)
      --labels accelerator=nvidia \)\)
      --node-count 0 \)\)
      --min-count 0 \)\)
      --max-count 3az aks nodepool add --name gpunodepool \)\)
      --enable-cluster-autoscaler \)\)
      --resource-group ${RESOURCEGROUP} \)\)
      --cluster-name ${AKSCLUSTERNAME} \)\)
      --node-vm-size Standard_NC6 \)\)
      --node-taints nvidia.com/gpu=present:NoSchedule \)\)
      --labels accelerator=nvidia \)\)
      --node-count 0 \)\)
      --min-count 0 \)\)
      --max-count 3

--node-vm-size you can change based on the type of node you want to use for GPU. Check here for supported GPU VM sizes in Azure.

Erstellen eines Speicherkontos

Erstellen Sie ein Speicherkonto in derselben Ressourcengruppe, in der Ihr Cluster bereitgestellt wird. Wir verwenden dieses Speicherkonto, um Container zu erstellen, in denen die Dateien für AIFabric gespeichert werden

  1. Suchen Sie Speicherkonten im Portal
  2. Erstellen Sie ein neues Speicherkonto.
  3. Wählen Sie obige Ressourcengruppe aus
  4. Geben Sie dem Speicherkonto einen geeigneten Namen
  5. Behalten Sie die restlichen Einstellungen standardmäßig bei. Fügen Sie Tags hinzu und erstellen Sie das Konto.

Erstellen Sie eine Application Insights-Instanz

Erstellen Sie eine Application Insights-Instanz in derselben RG, in der AIFabric seine Protokolle veröffentlichen wird

  1. Suchen Sie „Application Insights“ im Portal
  2. Erstellen Sie eine neue Instanz
  3. Wählen Sie obige Ressourcengruppe aus
  4. Geben Sie der Instanz einen geeigneten Namen
  5. Wählen Sie im Ressourcenmodus „Klassisch“ aus
  6. Fügen Sie Tags hinzu und erstellen Sie die Instanz.

Installationsschritte für AI Fabric

Falls Ihr AKS-Cluster privat ist, finden Sie hier weitere Details zum Vorgehen.

Öffnen der Shell

Sobald die obiges Infra eingerichtet ist, öffnen Sie shell.azure.com und legen Sie das aktuelle Abonnement auf dasjenige fest, in dem Ihre RG vorhanden ist, indem Sie folgenden Befehl verwenden: –

az account set --subscription <subscription-id>
az extension add --name application-insightsaz account set --subscription <subscription-id>
az extension add --name application-insights

Herunterladen des Installationsprogramms

First step is to download installer zip file here and move it to AI Center server. Alternatively, you can download it directly from the machine using following command

wget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gzwget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz

Entpacken Sie dann die Datei und wechseln Sie mit dem folgenden Befehl in den Hauptordner:

tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2

Setup ausführen

Führen Sie dann setup.sh mit dem folgenden Befehl aus:

bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>

Bitte ersetzen Sie die zugehörigen Werte entsprechend Ihrer Einrichtung, wie unten erläutert.

Die Parameter im obigen Befehl sind wie folgt (wenn sie nicht im Befehl übergeben werden, fragt das Installationsprogramm nach ihnen) –

platform → azure

resourceGroup → Ressourcengruppe, in der wir den Cluster und andere Ressourcen erstellt haben

workerResourcegroup → AKS erstellt zusammen mit Ihrem Cluster eine weitere Ressourcengruppe, um den Cluster-Workload beizubehalten; geben Sie diesen Namen an. Suchen Sie anhand des ursprünglichen Ressourcengruppennamens im Portal, um auch den anderen FG-Namen zu erhalten. In der Regel ähnelt dieser Name MC__<rg-name><cluster-name><region>



clusterName → AKS-Clustername

exposeKots → Ob der KotsAdmin über das Internet offengelegt werden soll oder nicht. (y/n)

acrHost → Wechseln Sie zur Containerregistrierung, die in AKS ausgewählt wurde, und rufen Sie den Servernamen wie unten ab



acrUser → Dies ist der erstellte Registrierungsname.

acrKey → Wechseln Sie auf der Seite „ACR“ zu den Zugriffsschlüsseln und geben Sie eines der Kennwörter ein



dnsPrefix → DNS-Präfix, das für den AIFabric-Ingress verwendet werden soll (z. B. aigabric, aim-app, alles, was Sie möchten)

storageAccountName → Speicherkontoname, der in derselben Ressourcengruppe in Schritt #3 erstellt wurde

storageAccountAccessKey → Wechseln Sie zur Speicherkontoseite → Zugriffsschlüssel Klicken Sie auf „Schlüssel anzeigen“ und kopieren Sie einen beliebigen Schlüssel aus key1 oder key2 und übergeben Sie ihn.



appInsightsKey → Application Insights-Schlüssel für den, der erstellt wurde. (Instrumentierungsschlüssel aus dem Screenshot unten)



email → E-Mail-ID, die für die Benachrichtigung über den Ablauf von Zertifikaten verwendet werden soll

Wichtig:

Die Installation kann beim ersten Mal mit dem Fehler „Application Insights nicht gefunden“ fehlschlagen; bei einem erneuten Durchlauf sollte es funktionieren. Alternativ können Sie die az-Erweiterung mit diesem Befehl installieren und die Installation erneut durchführen

az extension add --name application-insights

Privater AKS-Cluster

Wenn Ihr AKS-Cluster privat ist, gibt es einige Unterschiede zum obigen Installationsprozess.

  1. Erstellen Sie eine Ubuntu-VM im selben Netzwerk wie das des AKS-Clusters
  2. Installieren Sie dort die Befehlszeilen-Tools kubectl, az, helm und jq.
  3. Es gibt einen Azure-Client mit demselben Namen wie Ihr AKS-Cluster; rufen Sie das VNET des Clusters auf und fügen Sie diesen Client unter Zugriffsrichtlinien als Mitwirkenden hinzu (dies ist für die Erstellung privater Lastenausgleiche erforderlich)
  4. Melden Sie sich bei Azure an und legen Sie ab dem AKS-Cluster die richtige Abonnement-ID fest
    az login
    az account set --subscription <subscription-id>az login
    az account set --subscription <subscription-id>
  5. Im bash setup.sh-Befehl müssen Sie einen anderen Parameter übergeben, --isPrivate y
  6. Istio und KotsAdmin werden über private Lastenausgleichs-IP-Adressen bereitgestellt.
  7. Das Flag Expose_kots wird in diesem Fall ignoriert und dem KotsAdmin-Dienst wird ein interner Lastenausgleich zugewiesen
  8. Da private IP-Adressen keine öffentlichen DNS-Namen haben können, erstellen wir ein selbstsigniertes Zertifikat für Istio.
  9. Auf der Seite „KotsAdmin“ ist Ingress Host die private IP von Istio aus der Oneinstaller-Ausgabe. Sie können dies jederzeit überprüfen, indem Sie die externe IP-Adresse ausführen und abrufen –
    kubectl -n istio-system get svc istio-ingressgatewaykubectl -n istio-system get svc istio-ingressgateway
  10. Sie können das AI Fabric auf https://<istio-private-ip>/ai-app aus dem privaten Netzwerk überall dort verwenden, wo AKS VNET verfügbar ist.
  11. Wenn Sie dies dem Internet zugänglich machen möchten, müssen Sie den Datenverkehr vom öffentlichen Gateway auf diese interne IP auf Port 443 umleiten.
  • Erstellen Sie ein öffentliches Gateway
  • Konfigurieren Sie das Gateway, um den Datenverkehr von Port 443 an <istio-private-ip>:443 . zu senden
  • Verwenden Sie die öffentliche IP des Gateways oder einen DNS-Eintrag, der auf dieses Gateway als Ingress-Host im KotsAdmin hinweist
  • Die Gateway-Konfiguration erfordert TLS-Zertifikatdetails, um eine Verbindung mit dem Backend-Server herzustellen. Wenn Sie Ihre eigenen Zertifikate für das AIFabric aktualisieren möchten, können Sie diese vom KotsAdmin hochladen –


  • Wenn Ihr Gateway auch eine Zustandsüberprüfung erfordert, können Sie die URL ai-deployer/actuator/health verwenden.

Detaillierte Erklärung zum Einrichten von Azure Gateway

  1. Erstellen Sie eine Azure Application Gateway-Instanz, die mit demselben VNET wie AKS oder einem VNET verknüpft ist, das durch Peering mit dem AKS VNET verbunden ist
  2. Erstellen Sie einen Backend-Pool-Eintrag mit der privaten Istio-Lastensausgleichs-IP
  3. Erstellen Sie den Https-Einstellungseintrag mit Port 443. Wenn Sie selbstsignierte Zertifikate verwenden möchten, folgen Sie der Dokumentation https://docs.microsoft.com/en-us/azure/application-gateway/self-signed-certificates, um selbstsignierte CA- und Serverzertifikate zu erstellen (beim Generieren eines Serverzertifikats geben Sie beim allgemeinen Namensfeld den Istio-Lastenausgleich ein); wählen Sie auch unter der Hostnamen-Einstellung „Mit bestimmtem Domänennamen überschreiben“ aus und geben Sie die IP des Istio-Lastenausgleichs ein.


  4. Laden Sie das CA-Zertifikat in das Feld „Vertrauenswürdiges Stammzertifikat“ hoch.
  5. Laden Sie die oben erstellten Serverzertifikate in den KotsAdmin hoch, verwenden Sie die öffentliche IP des Gateways und lösen Sie eine Bereitstellung vom KotsAdmin aus.
  6. Generieren Sie eine pfx-Datei aus dem oben erstellten Serverzertifikat und Schlüssel, z. B. -openssl pkcs12 -export -out contoso.pfx -inkey fabrikam.key -in fabrikam.crt.
  7. Erstellen Sie einen Listener-Eintrag im Gateway mit Port 443 und laden Sie diese pfx-Datei dort hoch.
  8. Erstellen Sie eine Regel im Gateway und wählen Sie den obigen Listener, die HTTP-Einstellung und das Backend-Ziel aus.
  9. Erstellen Sie einen Integritätstesteintrag mit https und geben Sie den Host als IP-Adresse des Istio-Lastenausgleichs an. Geben Sie als Pfad /ai-deployer/actuator/health ein und wählen Sie die obige http-Einstellung aus, die in Schritt 3 erstellt wurde.


Bereitstellung der Infrastruktur

AnforderungenHinweis
Azure-Ressourcengruppe mit Besitzerzugriff 
Stellen Sie sicher, dass Sie in der Region, in der Sie Ihre Ressourcengruppe erstellt haben, über die entsprechenden vCPUs verfügen. Die Mindestanzahl der verfügbaren vCPUs muss 16 sein. Führen Sie diesen Befehl aus, um zu überprüfen, was Ihnen in der Region zur Verfügung steht, die Ihre Ressourcengruppe hostet: az vm list-skus --location westeurope --output table | grep virtualMachines
Stellen Sie sicher, dass Sie in der Region, in der Sie Ihre Ressourcengruppe erstellt haben, über die entsprechenden Maschinentypen verfügen. Standardmäßig sind diese Maschinen Standard_D8s_v3 & Standard_NC6. Führen Sie diesen Befehl aus, um zu überprüfen, was Ihnen in der Region zur Verfügung steht, die Ihre Ressourcengruppe hostet: az vm list-skus --location westeurope --output table | grep virtualMachines
Stellen Sie sicher, dass Sie obligatorische Tags hinzufügenBestätigen Sie, dass Sie wissen, ob obligatorische Tags zum Taggen der Ressourcen zum Zeitpunkt der Bereitstellung im Azure-Abonnement Ihres Unternehmens erforderlich sind.
Skript für die Bereitstellung der Infrastruktur herunterladen

Laden Sie den Ordner aks-arm.zip aus dem UiPath ai-customer-scripts Repository herunter, d. h. von diesem Speicherort: https://github.com/UiPath/ai-customer-scripts/blob/master/platform/aks/aks-arm.zip



Anforderungen vor dem Fortfahren

AnforderungenHinweis
Funktionierende Orchestrator-Installation Version 20.10 (oder höher)Referenz hier
SQL Server 2008 R2 oder höherReferenz hier
Die SQL Server-Authentifizierung muss aktiviert sein Wenden Sie sich an Ihren SQL Server-Administrator.
SQL-Anmeldeinformationen, die die Erstellung von Datenbanken und Rollen ermöglichen. Wenden Sie sich an Ihren SQL Server-Administrator.
Ein kompatibler Browser ist notwendigReferenz (Reference)
Das Startlaufwerk muss über mindestens 200 GB verfügenReferenz hier
Auf Arbeiterknoten müssen sekundäre Laufwerke von insgesamt mindestens 500 GB unformatiert seinReferenz hier
Eine Verbindung vom AI Fabric Master-Knoten zum Orchestrator. Muss in der Lage sein, eine Verbindung über den Domänennamen herzustellen. telnet <Orchestrator-Domain-Name> <port> vom AI Fabric-UCP-Knoten muss funktionieren.
Stellen Sie eine Verbindung mit der Datenbank über den Master-Knoten von AI Fabric her.telnet <SQL-Server-IP> <port> vom AI Fabric-UCP-Knoten muss funktionieren.
Verbindung von Roboter-/Studiomaschinen mit dem Master-Knoten von AI Fabric. telnet <UCP-Host-IP> 33443 und telnet <UCP-Host-IP> 33390 von Roboter-/ Studiomaschinen müssen funktionieren. Das heißt, die Roboter-/Studiomaschine ist Client für den Server an den Ports 33443 und 33390.
Verbindung mit Endpunkten, die vom Installationsprogramm der AI Fabric-Maschine benötigt werden. Die AI Fabric-Maschine darf den ausgehenden Zugriff auf diese Endpunkte nicht blockiert haben
Domänenzertifikat (für AI Fabric-Maschine) von einer vertrauenswürdigen Zertifizierungsstelle. Referenz hier
AI Fabric-Lizenzdatei.Referenz hier
Symbol für Support und Dienste
Hilfe erhalten
UiPath Academy-Symbol
RPA lernen – Automatisierungskurse
Symbol für UiPath-Forum
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.