Создание и развертывание конвейеров данных и машинного обучения с помощью Flyte на Служба Azure Kubernetes (AKS)
В этой статье показано, как использовать Flyte на Служба Azure Kubernetes (AKS). Flyte — это оркестратор рабочих процессов с открытым исходным кодом, который объединяет стеки машинного обучения, проектирования данных и аналитики данных, помогая создавать надежные и надежные приложения. При использовании Flyte в качестве средства автоматизации рабочих процессов kubernetes можно сосредоточиться на экспериментации и предоставлении бизнес-ценности, не увеличивая область использования инфраструктуры и управления ресурсами. Помните, что Flyte официально не поддерживается корпорацией Майкрософт, поэтому используйте его по своему усмотрению.
Дополнительные сведения см. в разделе "Введение в Flyte".
Внимание
Программное обеспечение с открытым кодом упоминается во всей документации и примерах AKS. Развертываемое программное обеспечение исключается из соглашений об уровне обслуживания AKS, ограниченной гарантии и поддержка Azure. При использовании технологии с открытым исходным кодом вместе с AKS ознакомьтесь с вариантами поддержки, доступными от соответствующих сообществ и обслуживающих проектов для разработки плана.
Например, репозиторий Ray GitHub описывает несколько платформ, которые зависят от времени отклика, назначения и уровня поддержки.
Корпорация Майкрософт несет ответственность за создание пакетов с открытым кодом, которые мы развертываем в AKS. Эта ответственность включает полное владение сборкой, сканированием, подписью, проверкой и исправлением, а также контролем над двоичными файлами в образах контейнеров. Дополнительные сведения см. в статье об управлении уязвимостями для поддержки AKS и AKS.
Варианты использования Flyte
Flyte можно использовать для различных вариантов использования, включая:
- Предоставление моделей для оптимизированных вычислений прибыли и потерь.
- Обработайте петабайты данных для эффективного сопоставления трехмерных областей.
- Быстрый откат к предыдущим версиям и минимизация влияния ошибок в конвейерах.
Дополнительные сведения см. в вариантах использования Core Flyte.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, вы можете создать бесплатную учетную запись.
- Если у вас несколько подписок, убедитесь, что выбран правильный с помощью
az account set --subscription <subscription-id>
команды.
- Если у вас несколько подписок, убедитесь, что выбран правильный с помощью
- Интерфейс командной строки Azure установлен и настроен. Проверьте версию с помощью
az --version
команды. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI. - Интерфейс командной строки Helm установлен и обновлен. Проверьте версию с помощью
helm version
команды. Если вам нужно установить или обновить, см. статью Install Helm. - Интерфейс командной
kubectl
строки установлен и обновлен. Установите его локально с помощью команды или с помощьюaz aks install-cli
kubectl. - Локальная среда разработки Docker. Дополнительные сведения см. в статье Получение Docker.
flytekit
иflytectl
установлен. Дополнительные сведения см. в разделе "Установка Flyte".
Примечание.
Если вы используете Azure Cloud Shell, azure CLI, Helm и kubectl уже установлены.
Настройка переменных среды
Задайте переменные среды для использования в этой статье. Замените значения заполнителей собственными значениями.
export RESOURCE_GROUP="<resource-group-name>" export LOCATION="<location>" export CLUSTER_NAME="<cluster-name>" export DNS_NAME_PREFIX="<dns-name-prefix>"
Создание кластера AKS
Создайте группу ресурсов Azure для кластера AKS с помощью
az group create
команды.az group create --name $RESOURCE_GROUP --location $LOCATION
Создайте кластер AKS с помощью
az aks create
команды , а--enable-azure-rbac
--enable-managed-identity
--enable-aad
также параметров и--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
Подключение к кластеру AKS
Настройте
kubectl
подключение к кластеруaz aks get-credentials
AKS с помощью команды.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
Добавление репозитория Flyte Helm
Добавьте репозиторий Flyte Helm с помощью
helm repo add
команды.helm repo add flyteorg https://flyteorg.github.io/flyte
Найти диаграммы Flyte Helm
Найдите диаграммы Flyte Helm с помощью
helm search repo
команды.helm search repo flyteorg
В следующем примере выходных данных показаны некоторые доступные диаграммы 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
Обновите репозиторий с помощью
helm repo update
команды.helm repo update
Развертывание диаграммы Flyte в AKS
В этом разделе описано, как развернуть диаграмму Helm flyte-binary, чтобы начать сборку и развертывание конвейеров данных и машинного обучения с помощью Flyte в AKS. Флитт-двоичная диаграмма — это базовое одно исполняемое развертывание Flyte.
Создайте пространство имен для развертывания Flyte с помощью
kubectl create namespace
команды.kubectl create namespace <namespace-name>
Установите диаграмму Flyte Helm с помощью
helm install
команды. В этом примере мы используем диаграммуflyte-binary
.helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
Убедитесь, что развертывание Flyte выполняется с помощью
kubectl get services
команды.kubectl get services --namespace <namespace-name> --output wide
В следующем сжатом примере выходных данных показано развертывание 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
Следующие шаги
В этой статье вы узнали, как установить Flyte на AKS с помощью диаграммы Helm. Проект Flyte также поддерживает эталонную реализацию AKS , которая автоматически настраивает все зависимости и развертывает рабочий кластер Flyte.
Чтобы приступить к созданию и развертыванию конвейеров данных и машинного обучения, ознакомьтесь со следующими статьями:
Azure Kubernetes Service