Partilhar via


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.ps1

  • Organizaçã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

  1. Crie o Azure Key Vault, você pode seguir este tutorial para criar um novo Azure Key Vault.

  2. 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.

    Captura de ecrã a mostrar como criar um cofre de chaves.

  3. 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

  1. Navegue até o Project e clique em Configurações do Project.

  2. Desloque-se para baixo e selecione Ligações de Serviço e, em seguida, Nova Ligação de Serviço.

  3. Selecione Azure Resource Manager.

    Captura de ecrã a mostrar como selecionar uma nova ligação de serviço.

  4. No método de autenticação, selecione Service Principal (manual).

    A captura de tela mostra a nova conexão de serviço.

  5. Edite as propriedades da conexão de serviço. Selecione a entidade de serviço criada recentemente.

    Captura de tela mostrando como editar a conexão de serviço.

  6. Clique em Verificar para verificar se a conexão foi configurada corretamente. Se você encontrar o seguinte erro:

    Captura de tela mostrando a mensagem de erro de conexão de serviço.

  7. Em seguida, você precisa atribuir a função Leitor à assinatura.

  8. Depois disso, a verificação deve ser bem-sucedida.

  9. Guardar a ligação ao serviço.

    Captura de ecrã a mostrar como visualizar o ID do Inquilino.

  10. Navegue até pipelines e clique em New Pipeline.

    Captura de tela mostrando como criar um novo pipeline.

  11. Selecione GitHub como o local do seu código.

  12. Selecione o repositório . Veja como criar um repositório no GitHub. imagem select-github-repo.

    Captura de tela mostrando como pesquisar seu código.

  13. Selecione o repositório . Para obter mais informações, consulte Como criar um repositório no GitHub.

    Captura de tela mostrando como selecionar um repositório GitHub.

  14. 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)

    Captura de tela mostrando como configurar o pipeline.

  15. Substitua o valor na seção variável.

    Captura de ecrã a mostrar como substituir o valor.

  16. 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.

    A captura de tela mostra a seção de compilação de código.

  17. Adicione a variável de pipeline "action" e configure o valor "RUN".

    A captura de tela mostra como adicionar variável de pipeline.

    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.

  18. Salve e execute o pipeline. Você pode ver o trabalho em execução no portal na seção Flink Job.

    A captura de tela mostra como salvar e executar o pipeline.

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.