Läs på engelska

Dela via


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-användningsfall

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.

Förutsättningar

  • 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> .
  • 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 kommandot az aks install-cli eller med hjälp av Installera kubectl.
  • En lokal Docker-utvecklingsmiljö. Mer information finns i Hämta Docker.
  • flytekit och flytectl 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

  • 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 ett AKS-kluster

  1. Skapa en Azure-resursgrupp för AKS-klustret med kommandot az group create .

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  2. Skapa ett AKS-kluster med az aks create kommandot med parametrarna --enable-azure-rbac, --enable-managed-identity, --enable-aadoch --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
    

Ansluta till ditt AKS-kluster

  • Konfigurera kubectl för att ansluta till ditt AKS-kluster med hjälp av az aks get-credentials kommandot .

    az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    

Lägg till Flyte Helm-lagringsplatsen

  • Lägg till Flyte Helm-lagringsplatsen med kommandot helm repo add .

    helm repo add flyteorg https://flyteorg.github.io/flyte
    

Hitta Flyte Helm-diagram

  1. 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
    
  2. Uppdatera lagringsplatsen med kommandot helm repo update .

    helm repo update
    

Distribuera ett Flyte-diagram i AKS

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.

  1. Skapa ett namnområde för flyte-distributionen med kommandot kubectl create namespace .

    kubectl create namespace <namespace-name>
    
  2. Installera ett Flyte Helm-diagram med kommandot helm install . I det här exemplet använder vi diagrammet flyte-binary .

    helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
    
  3. 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
    

Nästa steg

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: