Udostępnij za pośrednictwem


Tworzenie i wdrażanie potoków danych i uczenia maszynowego za pomocą rozwiązania Flyte w usłudze Azure Kubernetes Service (AKS)

W tym artykule pokazano, jak używać rozwiązania Flyte w usłudze Azure Kubernetes Service (AKS). Flyte to orkiestrator przepływu pracy typu open source, który łączy stosy uczenia maszynowego, inżynierii danych i analizy danych, które ułatwiają tworzenie niezawodnych i niezawodnych aplikacji. W przypadku korzystania z rozwiązania Flyte jako natywnego narzędzia automatyzacji przepływu pracy platformy Kubernetes można skoncentrować się na eksperymentowaniu i zapewnieniu wartości biznesowej bez zwiększania zakresu infrastruktury i zarządzania zasobami. Należy pamiętać, że usługa Flyte nie jest oficjalnie obsługiwana przez firmę Microsoft, więc używaj jej według własnego uznania.

Aby uzyskać więcej informacji, zobacz Wprowadzenie do usługi Flyte.

Ważne

Oprogramowanie typu open source jest wymienione w dokumentacji i przykładach usługi AKS. Wdrażane oprogramowanie jest wykluczone z umów dotyczących poziomu usług AKS, ograniczonej gwarancji i pomoc techniczna platformy Azure. W miarę korzystania z technologii open source wraz z usługą AKS zapoznaj się z opcjami pomocy technicznej dostępnymi w odpowiednich społecznościach i opiekunami projektów, aby opracować plan.

Na przykład repozytorium Ray GitHub opisuje kilka platform, które różnią się w czasie odpowiedzi, celu i poziomie pomocy technicznej.

Firma Microsoft ponosi odpowiedzialność za tworzenie pakietów typu open source wdrażanych w usłudze AKS. Ta odpowiedzialność obejmuje posiadanie pełnej własności procesu kompilacji, skanowania, podpisywania, weryfikowania i poprawek oraz kontroli nad plikami binarnymi na obrazach kontenerów. Aby uzyskać więcej informacji, zobacz Zarządzanie lukami w zabezpieczeniach dla usług AKS i pokrycie pomocy technicznej usługi AKS.

Przypadki użycia flyte

Flyte może służyć do różnych przypadków użycia, w tym:

  • Dostarczanie modeli usprawnionych obliczeń finansowych dotyczących zysków i strat.
  • Przetwarzanie petabajtów danych w celu wydajnego przeprowadzania mapowania 3D nowych obszarów.
  • Szybkie wycofywanie do poprzednich wersji i minimalizowanie wpływu usterek w potokach.

Aby uzyskać więcej informacji, zobacz Podstawowe przypadki użycia flyte.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji Azure, możesz utworzyć bezpłatne konto Azure.
    • Jeśli masz wiele subskrypcji, upewnij się, że wybrano poprawną przy użyciu az account set --subscription <subscription-id> polecenia .
  • Interfejs wiersza polecenia platformy Azure został zainstalowany i skonfigurowany. Sprawdź wersję przy użyciu az --version polecenia . Jeśli konieczna będzie instalacja lub uaktualnienie interfejsu, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
  • Interfejs wiersza polecenia programu Helm został zainstalowany i zaktualizowany. Sprawdź wersję przy użyciu helm version polecenia . Jeśli musisz zainstalować lub uaktualnić, zobacz Instalowanie programu Helm.
  • Interfejs kubectl wiersza polecenia został zainstalowany i zaktualizowany. Zainstaluj ją lokalnie przy użyciu az aks install-cli polecenia lub zainstaluj narzędzie kubectl.
  • Lokalne środowisko programistyczne platformy Docker. Aby uzyskać więcej informacji, zobacz Get Docker (Uzyskiwanie platformy Docker).
  • flytekit i flytectl zainstalowane. Aby uzyskać więcej informacji, zobacz Instalacja platformy Flyte.

Uwaga

Jeśli używasz usługi Azure Cloud Shell, interfejs wiersza polecenia platformy Azure, program Helm i narzędzie kubectl są już zainstalowane.

Ustawianie zmiennych środowiskowych

  • Ustaw zmienne środowiskowe do użycia w całym artykule. Zastąp wartości symboli zastępczych własnymi wartościami.

    export RESOURCE_GROUP="<resource-group-name>"
    export LOCATION="<location>"
    export CLUSTER_NAME="<cluster-name>"
    export DNS_NAME_PREFIX="<dns-name-prefix>"
    

Tworzenie klastra AKS

  1. Utwórz grupę zasobów platformy Azure dla klastra usługi AKS przy użyciu az group create polecenia .

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  2. Utwórz klaster usługi AKS przy użyciu az aks create polecenia z parametrami --enable-azure-rbac, --enable-managed-identity, --enable-aadi --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
    

Nawiązywanie połączenia z klastrem usługi AKS

  • Skonfiguruj kubectl , aby nawiązać połączenie z klastrem az aks get-credentials usługi AKS przy użyciu polecenia .

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

Dodawanie repozytorium Flyte Helm

  • Dodaj repozytorium Flyte Helm przy użyciu helm repo add polecenia .

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

Znajdowanie wykresów programu Helm flyte

  1. Wyszukaj wykresy Flyte Helm przy użyciu helm search repo polecenia .

    helm search repo flyteorg
    

    W poniższych przykładowych danych wyjściowych przedstawiono niektóre z dostępnych wykresów Flyte Helm:

    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. Zaktualizuj repozytorium przy użyciu helm repo update polecenia .

    helm repo update
    

Wdrażanie wykresu flyte w usłudze AKS

W tej sekcji wdrożysz wykres flyte-binary helm, aby rozpocząć tworzenie i wdrażanie potoków danych i uczenia maszynowego za pomocą funkcji Flyte w usłudze AKS. Wykres flyte-binary jest podstawowym wdrożeniem wykonywalnym flyte.

  1. Utwórz przestrzeń nazw dla wdrożenia flyte przy użyciu kubectl create namespace polecenia .

    kubectl create namespace <namespace-name>
    
  2. Zainstaluj wykres Flyte Helm przy użyciu helm install polecenia . W tym przykładzie używamy wykresu flyte-binary .

    helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
    
  3. Sprawdź, czy wdrożenie flyte jest uruchomione przy użyciu kubectl get services polecenia .

    kubectl get services --namespace <namespace-name> --output wide
    

    Następujące skrócone przykładowe dane wyjściowe pokazują wdrożenie flyte:

    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
    

Następne kroki

W tym artykule przedstawiono sposób instalowania rozwiązania Flyte w usłudze AKS przy użyciu pakietu Helm. Projekt Flyte obsługuje również implementację referencyjną usługi AKS , która automatycznie konfiguruje wszystkie zależności i wdraża klaster Flyte klasy produkcyjnej.

Aby rozpocząć tworzenie i wdrażanie potoków danych i uczenia maszynowego, zobacz następujące artykuły: