Crie e implante pipelines de dados e aprendizado de máquina com o Flyte no Serviço Kubernetes do Azure (AKS)
Este artigo mostra como usar o Flyte no Serviço Kubernetes do Azure (AKS). O Flyte é um orquestrador de fluxo de trabalho de código aberto que unifica pilhas de aprendizado de máquina, engenharia de dados e análise de dados para ajudá-lo a criar aplicativos robustos e confiáveis. Ao usar o Flyte como uma ferramenta de automação de fluxo de trabalho nativa do Kubernetes, você pode se concentrar na experimentação e fornecer valor comercial sem aumentar seu escopo para gerenciamento de infraestrutura e recursos. Tenha em mente que o Flyte não é oficialmente suportado pela Microsoft, portanto, use-o a seu critério.
Para obter mais informações, consulte Introdução ao Flyte.
Importante
O software de código aberto é mencionado em toda a documentação e amostras do AKS. O software que você implanta é excluído dos contratos de nível de serviço do AKS, da garantia limitada e do suporte do Azure. Ao usar a tecnologia de código aberto ao lado do AKS, consulte as opções de suporte disponíveis nas respetivas comunidades e mantenedores do projeto para desenvolver um plano.
Por exemplo, o repositório Ray GitHub descreve várias plataformas que variam em tempo de resposta, finalidade e nível de suporte.
A Microsoft assume a responsabilidade pela criação dos pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter a propriedade completa do processo de compilação, digitalização, assinatura, validação e hotfix, juntamente com o controle sobre os binários em imagens de contêiner. Para obter mais informações, consulte Gerenciamento de vulnerabilidades para cobertura de suporte AKS e AKS.
Casos de uso do Flyte
O Flyte pode ser usado para uma variedade de casos de uso, incluindo:
- Forneça modelos para cálculos financeiros simplificados de lucros e perdas.
- Processe petabytes de dados para realizar eficientemente o mapeamento 3D de novas áreas.
- Reverta rapidamente para versões anteriores e minimize o impacto de bugs em seus pipelines.
Para obter mais informações, consulte Casos de uso do Core Flyte.
Pré-requisitos
- Uma subscrição do Azure. Se não tiver uma subscrição do Azure, pode criar uma conta gratuita.
- Se você tiver várias assinaturas, certifique-se de selecionar a correta usando o
az account set --subscription <subscription-id>
comando.
- Se você tiver várias assinaturas, certifique-se de selecionar a correta usando o
- A CLI do Azure instalada e configurada. Verifique sua versão usando o
az --version
comando. Se precisar de instalar ou atualizar, veja Instalar a CLI do Azure. - A CLI do Helm instalada e atualizada. Verifique sua versão usando o
helm version
comando. Se você precisar instalar ou atualizar, consulte Instalar leme. - A
kubectl
CLI instalada e atualizada. Instale-o localmente usando oaz aks install-cli
comando ou usando Install kubectl. - Um ambiente local de desenvolvimento do Docker. Para obter mais informações, consulte Obter o Docker.
flytekit
eflytectl
instalado. Para obter mais informações, consulte Instalação do Flyte.
Nota
Se você estiver usando o Azure Cloud Shell, a CLI do Azure, o Helm e o kubectl já estão instalados.
Definir variáveis de ambiente
Defina variáveis de ambiente para uso ao longo do artigo. Substitua os valores de espaço reservado por seus próprios valores.
export RESOURCE_GROUP="<resource-group-name>" export LOCATION="<location>" export CLUSTER_NAME="<cluster-name>" export DNS_NAME_PREFIX="<dns-name-prefix>"
Criar um cluster do AKS
Crie um grupo de recursos do Azure para o cluster AKS usando o
az group create
comando.az group create --name $RESOURCE_GROUP --location $LOCATION
Crie um cluster AKS usando o
az aks create
comando com os--enable-azure-rbac
parâmetros ,--enable-managed-identity
,--enable-aad
e--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
Conecte-se ao cluster AKS
Configure
kubectl
para se conectar ao seu cluster AKS usando oaz aks get-credentials
comando.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
Adicionar o repositório Flyte Helm
Adicione o repositório Flyte Helm usando o
helm repo add
comando.helm repo add flyteorg https://flyteorg.github.io/flyte
Encontre gráficos Flyte Helm
Procure gráficos Flyte Helm usando o
helm search repo
comando.helm search repo flyteorg
A saída de exemplo a seguir mostra alguns dos gráficos Flyte Helm disponíveis:
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
Atualize o repositório usando o
helm repo update
comando.helm repo update
Implantar um gráfico Flyte no AKS
Nesta seção, você implanta o gráfico Helm binário flyte para que possa começar a criar e implantar pipelines de dados e aprendizado de máquina com o Flyte no AKS. O gráfico binário flyte é uma implantação executável única básica do Flyte.
Crie um namespace para sua implantação do Flyte usando o
kubectl create namespace
comando.kubectl create namespace <namespace-name>
Instale um gráfico Flyte Helm usando o
helm install
comando. Neste exemplo, usamos oflyte-binary
gráfico.helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
Verifique se a implantação do Flyte está em execução usando o
kubectl get services
comando.kubectl get services --namespace <namespace-name> --output wide
A saída de exemplo condensado a seguir mostra a implantação do 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
Próximos passos
Neste artigo, você aprendeu como instalar o Flyte no AKS usando um gráfico Helm. O projeto Flyte também mantém uma implementação de referência para o AKS que configura automaticamente todas as dependências e implanta um cluster Flyte de nível de produção.
Para começar a criar e implantar pipelines de dados e aprendizado de máquina, consulte os seguintes artigos:
Azure Kubernetes Service