Skapa och distribuera data- och maskininlärningspipelines med Flyte i Azure Kubernetes Service (AKS)
Den här artikeln visar hur du använder Flyte på Azure Kubernetes Service (AKS). Flyte är en arbetsflödesorkestrerare med öppen källkod som förenar maskininlärning, datateknik och dataanalysstackar som hjälper dig att skapa robusta och tillförlitliga program. När du använder Flyte som ett Kubernetes-inbyggt verktyg för arbetsflödesautomatisering kan du fokusera på experimentering och tillhandahålla affärsvärde utan att öka omfånget för infrastruktur och resurshantering. Tänk på att Flyte inte stöds officiellt av Microsoft, så använd det efter eget gottfinnande.
Mer information finns i Introduktion till Flyte.
Viktigt
Programvara med öppen källkod nämns i AKS-dokumentationen och exempel. Programvara som du distribuerar undantas från AKS-serviceavtal, begränsad garanti och Azure Support. När du använder teknik med öppen källkod tillsammans med AKS kan du läsa supportalternativen som är tillgängliga från respektive community och projektunderhållare för att utveckla en plan.
Till exempel beskriver Ray GitHub-lagringsplatsen flera plattformar som varierar i svarstid, syfte och supportnivå.
Microsoft tar ansvar för att skapa de paket med öppen källkod som vi distribuerar på AKS. Det ansvaret omfattar att ha fullständigt ägarskap för bygg-, genomsöknings-, signerings-, validerings- och snabbkorrigeringsprocessen, tillsammans med kontroll över binärfilerna i containeravbildningar. Mer information finns i Sårbarhetshantering för AKS - och AKS-stödtäckning.
Flyte kan användas för en mängd olika användningsfall, inklusive:
- Leverera modeller för effektiva ekonomiska beräkningar för vinst och förlust.
- Bearbeta petabyte med data för att effektivt utföra 3D-mappning av nya områden.
- Återställ snabbt till tidigare versioner och minimera effekten av buggar i dina pipelines.
Mer information finns i Användningsfall för Core Flyte.
- En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Om du har flera prenumerationer kontrollerar du att du väljer rätt med kommandot
az account set --subscription <subscription-id>
.
- Om du har flera prenumerationer kontrollerar du att du väljer rätt med kommandot
- Azure CLI har installerats och konfigurerats. Kontrollera din version med hjälp av
az --version
kommandot . Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI. - Helm CLI har installerats och uppdaterats. Kontrollera din version med hjälp av
helm version
kommandot . Om du behöver installera eller uppgradera kan du läsa Installera Helm. kubectl
CLI har installerats och uppdaterats. Installera det lokalt med kommandotaz aks install-cli
eller med hjälp av Installera kubectl.- En lokal Docker-utvecklingsmiljö. Mer information finns i Hämta Docker.
flytekit
ochflytectl
installerat. Mer information finns i Flyte-installation.
Anteckning
Om du använder Azure Cloud Shell är Azure CLI, Helm och kubectl redan installerade.
Ange miljövariabler som ska användas i hela artikeln. Ersätt platshållarvärdena med dina egna värden.
export RESOURCE_GROUP="<resource-group-name>" export LOCATION="<location>" export CLUSTER_NAME="<cluster-name>" export DNS_NAME_PREFIX="<dns-name-prefix>"
Skapa en Azure-resursgrupp för AKS-klustret med kommandot
az group create
.az group create --name $RESOURCE_GROUP --location $LOCATION
Skapa ett AKS-kluster med
az aks create
kommandot med parametrarna--enable-azure-rbac
,--enable-managed-identity
,--enable-aad
och--dns-name-prefix
.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
Konfigurera
kubectl
för att ansluta till ditt AKS-kluster med hjälp avaz aks get-credentials
kommandot .az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
Lägg till Flyte Helm-lagringsplatsen med kommandot
helm repo add
.helm repo add flyteorg https://flyteorg.github.io/flyte
Sök efter Flyte Helm-diagram med kommandot
helm search repo
.helm search repo flyteorg
Följande exempelutdata visar några av de tillgängliga Flyte Helm-diagrammen:
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
Uppdatera lagringsplatsen med kommandot
helm repo update
.helm repo update
I det här avsnittet distribuerar du det flyte-binära Helm-diagrammet så att du kan börja skapa och distribuera data- och maskininlärningspipelines med Flyte på AKS. Det flyte-binära diagrammet är en grundläggande enkel flyte-körbar distribution.
Skapa ett namnområde för flyte-distributionen med kommandot
kubectl create namespace
.kubectl create namespace <namespace-name>
Installera ett Flyte Helm-diagram med kommandot
helm install
. I det här exemplet använder vi diagrammetflyte-binary
.helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
Kontrollera att Flyte-distributionen körs med kommandot
kubectl get services
.kubectl get services --namespace <namespace-name> --output wide
Följande komprimerade exempelutdata visar Flyte-distributionen:
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
I den här artikeln har du lärt dig hur du installerar Flyte på AKS med hjälp av ett Helm-diagram. Flyte-projektet upprätthåller också en referensimplementering för AKS som automatiskt konfigurerar alla beroenden och distribuerar ett Flyte-kluster i produktionsklass.
Information om hur du börjar skapa och distribuera data- och maskininlärningspipelines finns i följande artiklar:
Feedback om Azure Kubernetes Service
Azure Kubernetes Service är ett öppen källkod projekt. Välj en länk för att ge feedback: