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 .
- Jeśli masz wiele subskrypcji, upewnij się, że wybrano poprawną przy użyciu
- 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życiuaz 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
iflytectl
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
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
Utwórz klaster usługi AKS przy użyciu
az aks create
polecenia 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 nawiązać połączenie z klastremaz 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
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
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.
Utwórz przestrzeń nazw dla wdrożenia flyte przy użyciu
kubectl create namespace
polecenia .kubectl create namespace <namespace-name>
Zainstaluj wykres Flyte Helm przy użyciu
helm install
polecenia . W tym przykładzie używamy wykresuflyte-binary
.helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
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:
Azure Kubernetes Service