Erstellen und Bereitstellen von Daten- und Machine Learning-Pipelines mit Flyte in Azure Kubernetes Service (AKS)
In diesem Artikel wird gezeigt, wie Sie Flyte in Azure Kubernetes Service (AKS) verwenden. Flyte ist ein Open-Source-Workflow-Orchestrator, der Stapel für Machine Learning, Datentechnik und Datenanalyse vereint, um Ihnen bei der Erstellung robuster und zuverlässiger Anwendungen zu helfen. Wenn Sie Flyte als natives Kubernetes-Workflowautomatisierungstool verwenden, können Sie sich auf Experimente und den geschäftlichen Nutzen konzentrieren, ohne den Umfang der Infrastruktur und des Ressourcenmanagements zu erhöhen. Denken Sie daran, dass Flyte nicht offiziell von Microsoft unterstützt wird. Verwenden Sie es daher nach eigenem Ermessen.
Weitere Informationen finden Sie unter Einführung in Flyte.
Wichtig
Open-Source-Software wird überall in AKS-Dokumenten und -Beispielen erwähnt. Software, die Sie bereitstellen, ist von AKS-Vereinbarungen zum Servicelevel, der eingeschränkten Garantie und dem Azure-Support ausgeschlossen. Wenn Sie Open-Source-Technologie zusammen mit AKS nutzen, nutzen Sie die Supportoptionen, die von den jeweiligen Communitys und Projektbetreuenden angeboten werden, um einen Plan zu entwickeln.
Das GitHub-Repository von Ray beschreibt z. B. mehrere Plattformen, die in Antwortzeit, Zweck und Supportebene variieren.
Microsoft übernimmt die Verantwortung für die Erstellung der Open-Source-Pakete, die wir in AKS bereitstellen. Diese Verantwortung schließt den vollständigen Besitz des Build-, Scan-, Signatur-, Validierungs- und Hotfixprozesses sowie die Kontrolle über die Binärdateien in Containerimages ein. Weitere Informationen finden Sie unter Sicherheitsrisikomanagement für AKS und AKS-Supportabdeckung.
Flyte-Anwendungsfälle
Flyte kann für eine Vielzahl von Anwendungsfällen verwendet werden, darunter:
- Bereitstellen von Modellen für optimierte Gewinn- und Verlustrechnungen.
- Verarbeiten von enormen Datenmengen in Petabyte-Größenordnung, um 3D-Zuordnungen neuer Bereiche effizient durchzuführen.
- Schnelles Zurücksetzen auf frühere Versionen und Minimieren der Auswirkungen von Fehlern in Ihren Pipelines.
Weitere Informationen finden Sie unter Wichtige Flyte-Anwendungsfälle.
Voraussetzungen
- Ein Azure-Abonnement. Falls Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.
- Wenn Sie mehrere Abonnements haben, wählen Sie mithilfe des Befehls
az account set --subscription <subscription-id>
das richtige Abonnement aus.
- Wenn Sie mehrere Abonnements haben, wählen Sie mithilfe des Befehls
- Die Azure CLI wurde installiert und konfiguriert. Überprüfen Sie Ihre Version mit dem Befehl
az --version
. Installations- und Upgradeinformationen finden Sie bei Bedarf unter Installieren von Azure CLI. - Die Helm-CLI wurde installiert und aktualisiert. Überprüfen Sie Ihre Version mit dem Befehl
helm version
. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren von Helm. - Die
kubectl
-CLI wurde installiert und aktualisiert. Installieren Sie sie lokal mit dem Befehlaz aks install-cli
oder mithilfe von Installieren von kubectl. - Eine lokale Docker-Entwicklungsumgebung. Weitere Informationen finden Sie unter Get Docker (Docker-Download).
flytekit
undflytectl
sind installiert. Weitere Informationen finden Sie unter Flyte-Installation.
Hinweis
Wenn Sie die Azure Cloud Shell verwenden, sind die Azure CLI, Helm und kubectl bereits installiert.
Festlegen von Umgebungsvariablen
Legen Sie Umgebungsvariablen fest, die in diesem Artikel verwendet werden. Ersetzen Sie die Platzhalterwerte durch eigene Werte.
export RESOURCE_GROUP="<resource-group-name>" export LOCATION="<location>" export CLUSTER_NAME="<cluster-name>" export DNS_NAME_PREFIX="<dns-name-prefix>"
Erstellen eines AKS-Clusters
Erstellen Sie mithilfe des Befehls
az group create
eine Azure-Ressourcengruppe für den AKS-Cluster.az group create --name $RESOURCE_GROUP --location $LOCATION
Erstellen Sie mit dem Befehl
az aks create
und den Parametern--enable-azure-rbac
,--enable-managed-identity
,--enable-aad
und--dns-name-prefix
einen AKS-Cluster.az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-azure-rbac --enable-managed-identity --enable-aad --dns-name-prefix $DNS_NAME_PREFIX --generate-ssh-keys
Herstellen einer Verbindung mit dem AKS-Cluster
Konfigurieren Sie
kubectl
, um mithilfe des Befehlsaz aks get-credentials
eine Verbindung mit Ihrem AKS-Cluster herzustellen.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
Hinzufügen des Flyte Helm-Repositorys
Fügen Sie das Flyte Helm-Repository mit dem Befehl
helm repo add
hinzu.helm repo add flyteorg https://flyteorg.github.io/flyte
Suchen von Flyte Helm-Diagrammen
Suchen Sie mithilfe des Befehls
helm search repo
nach Flyte Helm-Diagrammen.helm search repo flyteorg
Die folgende Beispielausgabe zeigt einige der verfügbaren Flyte Helm-Diagramme:
NAME CHART VERSION APP VERSION DESCRIPTION flyteorg/flyte v1.12.0 A Helm chart for Flyte Sandbox flyteorg/flyte-binary v1.12.0 1.16.0 Chart for basic single Flyte executable deployment flyteorg/flyte-core v1.12.0 A Helm chart for Flyte core flyteorg/flyte-deps v1.12.0 A Helm chart for Flyte dependencies flyteorg/flyte-sandbox 0.1.0 1.16.1 A Helm chart for the Flyte local sandbox flyteorg/flyteagent v0.1.10 A Helm chart for Flyte Agent
Aktualisieren Sie das Repository mit dem Befehl
helm repo update
.helm repo update
Bereitstellen eines Flyte-Diagramms in AKS
In diesem Abschnitt stellen Sie das Flyte-Binär-Helm-Diagramm bereit, damit Sie mit dem Erstellen und Bereitstellen von Daten- und Machine Learning-Pipelines mit Flyte in AKS beginnen können. Das Flyte-Binär-Diagramm ist eine einfache ausführbare Flyte-Bereitstellung.
Erstellen Sie mit dem Befehl
kubectl create namespace
einen Namespace für Ihre Flyte-Bereitstellung.kubectl create namespace <namespace-name>
Installieren Sie mit dem Befehl
helm install
ein Flyte-Helm-Diagramm. In diesem Beispiel wird das Diagrammflyte-binary
verwendet.helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
Stellen Sie mit dem Befehl
kubectl get services
sicher, dass die Flyte-Bereitstellung ausgeführt wird.kubectl get services --namespace <namespace-name> --output wide
Die folgende verkürzte Beispielausgabe zeigt die Flyte-Bereitstellung:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE flyteorg-flyte-binary-grpc ClusterIP xx.x.xx.xxx <none> 81/TCP 1m flyteorg-flyte-binary-http ClusterIP xx.x.xx.xxx <none> 80/TCP 1m flyteorg-flyte-binary-webhook ClusterIP xx.x.xx.xxx <none> 80/TCP 1m
Nächste Schritte
In diesem Artikel haben Sie erfahren, wie Sie Flyte in AKS mithilfe eines Helm-Charts installieren. Das Flyte-Projekt verwaltet auch eine Referenzimplementierung für AKS, die automatisch alle Abhängigkeiten konfiguriert und einen Flyte-Cluster auf Produktionsniveau bereitstellt.
Informationen zum Erstellen und Bereitstellen von Daten- und Machine Learning-Pipelines finden Sie in den folgenden Artikeln:
Azure Kubernetes Service