Como usar o Azure Pipelines com o Apache Flink® no HDInsight no AKS
Nota
Vamos desativar o Azure HDInsight no AKS em 31 de janeiro de 2025. Antes de 31 de janeiro de 2025, você precisará migrar suas cargas de trabalho para o Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho. Os clusters restantes na sua subscrição serão interrompidos e removidos do anfitrião.
Apenas o apoio básico estará disponível até à data da reforma.
Importante
Esta funcionalidade está atualmente em pré-visualização. Os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure incluem mais termos legais que se aplicam a funcionalidades do Azure que estão em versão beta, em pré-visualização ou ainda não disponibilizadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Informações de visualização do Azure HDInsight no AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações na Comunidade do Azure HDInsight.
Neste artigo, você aprenderá a usar o Azure Pipelines com o HDInsight no AKS para enviar trabalhos Flink com a API REST do cluster. Guiamos você pelo processo usando um pipeline YAML de exemplo e um script do PowerShell, que simplificam a automação das interações da API REST.
Pré-requisitos
Subscrição do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
Uma conta do GitHub onde você pode criar um repositório. Crie um gratuitamente.
Criar
.pipeline
diretório, copiar flink-azure-pipelines.yml e flink-job-azure-pipeline.ps1Organização do Azure DevOps. Crie uma gratuitamente. Se sua equipe já tiver um, verifique se você é um administrador do projeto de DevOps do Azure que deseja usar.
Capacidade de executar pipelines em agentes hospedados pela Microsoft. Para usar agentes hospedados pela Microsoft, sua organização do Azure DevOps deve ter acesso a trabalhos paralelos hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar uma bolsa gratuita.
Um cluster Flink. Se você não tiver um, crie um cluster Flink no HDInsight no AKS.
Crie um diretório na conta de armazenamento de cluster para copiar o jar de trabalho. Este diretório mais tarde você precisa configurar no pipeline YAML para local jar de trabalho (<JOB_JAR_STORAGE_PATH>).
Etapas para configurar o pipeline
Criar uma entidade de serviço para o Azure Pipelines
Criar entidade de serviço do Microsoft Entra para acessar o Azure – Conceda permissão para acessar o HDInsight no Cluster AKS com a função de Colaborador, anote appId, senha e locatário a partir da resposta.
az ad sp create-for-rbac -n <service_principal_name> --role Contributor --scopes <Flink Cluster Resource ID>`
Exemplo:
az ad sp create-for-rbac -n azure-flink-pipeline --role Contributor --scopes /subscriptions/abdc-1234-abcd-1234-abcd-1234/resourceGroups/myResourceGroupName/providers/Microsoft.HDInsight/clusterpools/hiloclusterpool/clusters/flinkcluster`
Referência
Nota
Apache, Apache Flink, Flink e nomes de projetos de código aberto associados são marcas comerciais da Apache Software Foundation (ASF).
Criar um cofre de chaves
Crie o Azure Key Vault, você pode seguir este tutorial para criar um novo Azure Key Vault.
Crie três segredos
cluster-storage-key para chave de armazenamento.
service-principal-key para clientId principal ou appId.
service-principal-secret para o segredo principal.
Conceda permissão para acessar o Azure Key Vault com a função "Key Vault Secrets Officer" para a entidade de serviço.
Pipeline de configuração
Navegue até o Project e clique em Configurações do Project.
Desloque-se para baixo e selecione Ligações de Serviço e, em seguida, Nova Ligação de Serviço.
Selecione Azure Resource Manager.
No método de autenticação, selecione Service Principal (manual).
Edite as propriedades da conexão de serviço. Selecione a entidade de serviço criada recentemente.
Clique em Verificar para verificar se a conexão foi configurada corretamente. Se você encontrar o seguinte erro:
Em seguida, você precisa atribuir a função Leitor à assinatura.
Depois disso, a verificação deve ser bem-sucedida.
Guardar a ligação ao serviço.
Navegue até pipelines e clique em New Pipeline.
Selecione GitHub como o local do seu código.
Selecione o repositório . Veja como criar um repositório no GitHub. imagem select-github-repo.
Selecione o repositório . Para obter mais informações, consulte Como criar um repositório no GitHub.
Em configurar sua opção de pipeline, você pode escolher o arquivo YAML Pipelines do Azure existente. Selecione o script de ramificação e pipeline que você copiou anteriormente. (.pipeline/flink-azure-pipelines.yml)
Substitua o valor na seção variável.
Corrija a seção de compilação de código com base em sua exigência e configure <JOB_JAR_LOCAL_PATH> na seção variável para o caminho local do jar de trabalho.
Adicione a variável de pipeline "action" e configure o valor "RUN".
Você pode alterar os valores da variável antes de executar o pipeline.
NOVO: Este valor é padrão. Ele inicia um novo trabalho e, se o trabalho já estiver em execução, atualiza o trabalho em execução com o jar mais recente.
SAVEPOINT: Este valor usa o ponto de salvamento para executar o trabalho.
DELETE: Cancele ou exclua o trabalho em execução.
Salve e execute o pipeline. Você pode ver o trabalho em execução no portal na seção Flink Job.
Nota
Este é um exemplo para enviar o trabalho usando pipeline. Você pode seguir o documento da API REST do Flink para escrever seu próprio código para enviar o trabalho.