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, oraz ograniczonej gwarancji i wsparcia 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. Odpowiedzialność ta obejmuje pełną własność procesu kompilacji, skanowania, podpisywania, weryfikowania i szybkiej naprawy oraz kontrolę nad binariami w obrazach kontenerów. Aby uzyskać więcej informacji, zobacz Zarządzanie lukami w zabezpieczeniach dla AKS i zakres wsparcia technicznego 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.
  • Szybko przywróć poprzednie wersje i minimalizuj wpływ błędów w Twoich potokach.

Aby uzyskać więcej informacji, zapoznaj się z samouczkami 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 polecenia az --version. 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 polecenia helm version. Jeśli musisz zainstalować lub uaktualnić, zobacz Instalowanie programu Helm.
  • Interfejs kubectl wiersza polecenia 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.
  • flytekit i flytectl zostały zainstalowane. Aby uzyskać więcej informacji, zobacz instalację 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 zastępcze 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 AKS przy użyciu polecenia az aks create z parametrami --enable-azure-rbac, --enable-managed-identity, --enable-aad i --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 połączyć się z klastrem AKS za pomocą polecenia az aks get-credentials.

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

Dodaj repozytorium Flyte Helm

  • Dodaj repozytorium Flyte Helm używając polecenia helm repo add.

    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
    

Rozmieszczanie wykresu Flyte na AKS

W tej sekcji wdrożysz wykres Helm o nazwie "flyte-binary", aby rozpocząć budowę i wdrażanie potoków danych oraz uczenia maszynowego z wykorzystaniem Flyte na AKS. Diagram “flyte-binary” to podstawowe wdrożenie pojedynczego wykonywalnego pliku Flyte.

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

    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 polecenia kubectl get services.

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

    Następujące skrócone przykładowe wyjście pokazuje 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 dowiedziałeś się, jak zainstalować Flyte na AKS przy użyciu diagramu 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: