Sestavování a nasazování kanálů pro data a strojové učení pomocí Flyte ve službě Azure Kubernetes Service (AKS)

V tomto článku se dozvíte, jak používat Flyte ve službě Azure Kubernetes Service (AKS). Flyte je opensourcový orchestrátor pracovních postupů, který sjednocuje zásobníky strojového učení, přípravy dat a analýzy dat, které vám pomůžou vytvářet robustní a spolehlivé aplikace. Pokud používáte Flyte jako nástroj pro automatizaci pracovních postupů nativní pro Kubernetes, můžete se zaměřit na experimentování a poskytovat obchodní hodnotu, aniž byste zvýšili rozsah infrastruktury a správy prostředků. Mějte na paměti, že Společnost Flyte není oficiálně podporovaná společností Microsoft, proto ji používejte podle vlastního uvážení.

Další informace naleznete v tématu Úvod do Flyte.

Důležité

Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, které nasadíte, je vyloučeno z dohod o úrovni služeb AKS, omezené záruky a podpory Azure. Při používání open-source technologií spolu s AKS konzultujte dostupné možnosti podpory od příslušných komunit a správců projektů, abyste vytvořili plán.

Microsoft přebírá odpovědnost za vytváření balíčků s otevřeným zdrojovým kódem, které nasazujeme na AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete pod tématy Správa zranitelností pro AKS a Podpora pro AKS.

Případy použití Flyte

Flyte lze použít pro různé případy použití, včetně:

  • Doručujte modely pro zjednodušené výpočty zisku a ztráty.
  • Zpracování petabajtů dat za účelem efektivního provádění 3D mapování nových oblastí
  • Rychle provést návrat k předchozím verzím a minimalizovat dopad chyb v pipelinech.

Další informace najdete v tutoriálech Flyte.

Požadavky

  • Předplatné služby Azure. Pokud nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
    • Pokud máte více předplatných, ujistěte se, že jste pomocí az account set --subscription <subscription-id> příkazu vybrali tu správnou.
  • Nainstalované a nakonfigurované Rozhraní příkazového řádku Azure. Pomocí příkazu zkontrolujte svoji verzi az --version . Pokud potřebujete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.
  • Rozhraní příkazového řádku Helm bylo nainstalováno a aktualizováno. Pomocí příkazu zkontrolujte svoji verzi helm version . Pokud potřebujete nainstalovat nebo upgradovat, přečtěte si návod Instalace Helm.
  • kubectl CLI bylo nainstalováno a aktualizováno. Nainstalujte ho lokálně pomocí příkazu az aks install-cli nebo s použitím příkazu Instalujte kubectl.
  • Místní vývojové prostředí Dockeru. Další informace najdete v tématu Získání Dockeru.
  • flytekit a flytectl jsou nainstalovány. Další informace naleznete v tématu instalace Flyte.

Poznámka:

Pokud používáte Azure Cloud Shell, azure CLI, Helm a kubectl jsou už nainstalované.

Nastavení proměnných prostředí

  • Nastavte proměnné prostředí pro použití v celém článku. Zástupné hodnoty nahraďte vlastními hodnotami.

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

Vytvoření clusteru AKS

  1. Pomocí příkazu vytvořte skupinu prostředků Azure pro cluster az group create AKS.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  2. Vytvořte cluster AKS pomocí příkazu az aks create s parametry --enable-azure-rbac, --enable-managed-identity, --enable-aad a --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
    

Připojení ke clusteru AKS

  • Nakonfigurujte kubectl pro připojení ke clusteru AKS pomocí příkazu az aks get-credentials.

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

Přidání úložiště Flyte Helm

  • Přidejte úložiště Flyte Helm pomocí helm repo add příkazu.

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

Vyhledání grafů Flyte Helm

  1. Vyhledejte grafy Flyte Helm pomocí příkazu helm search repo.

    helm search repo flyteorg
    

    Následující příklad výstupu ukazuje některé z dostupných grafů 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. Aktualizujte úložiště pomocí helm repo update příkazu.

    helm repo update
    

Nasazení Flyte chartu na AKS

V této části nasadíte flyte-binary Helm chart, abyste mohli začít vytvářet a nasazovat kanály dat a strojového učení pomocí Flyte v AKS. Flyte-binary chart je jednoduché nasazení s jediným spustitelným souborem Flyte.

  1. Pomocí příkazu kubectl create namespace vytvořte obor názvů pro nasazení Flyte.

    kubectl create namespace <namespace-name>
    
  2. Nainstalujte chart Flyte Helm pomocí helm install příkazu. V tomto příkladu flyte-binary použijeme graf.

    helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
    
  3. Ověřte, že je nasazení Flyte spuštěné, pomocí příkazu kubectl get services.

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

    Následující zhuštěný ukázkový výstup ukazuje nasazení 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
    

Další kroky

V tomto článku jste zjistili, jak nainstalovat Flyte v AKS pomocí chartu Helm. Projekt Flyte také udržuje referenční implementaci pro AKS , která automaticky nakonfiguruje všechny závislosti a nasadí cluster Flyte na produkční úrovni.

Pokud chcete začít sestavovat a nasazovat kanály dat a strojového učení, projděte si následující články: