Compartilhar via


Como usar o Azure Pipelines com o Apache Flink® no HDInsight no AKS

Observação

Desativaremos o Microsoft Azure HDInsight no AKS em 31 de janeiro de 2025. Para evitar o encerramento abrupto das suas cargas de trabalho, você precisará migrá-las para o Microsoft Fabric ou para um produto equivalente do Azure antes de 31 de janeiro de 2025. Os clusters restantes em sua assinatura serão interrompidos e removidos do host.

Somente o suporte básico estará disponível até a data de desativação.

Importante

Esse recurso está atualmente na visualização. Os Termos de uso complementares para versões prévias do Microsoft Azure incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, confira Informações sobre a versão prévia do Azure HDInsight no AKS. Caso tenha perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para ver mais atualizações sobre a Comunidade do Azure HDInsight.

Neste artigo, você aprenderá a usar o Azure Pipelines com o HDInsight no AKS para enviar trabalhos do Flink com a API REST do cluster. Orientamos você pelo processo usando um pipeline YAML de exemplo e um script do PowerShell, ambos simplificando a automação das interações da API REST.

Pré-requisitos

  • Assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita.

  • Uma conta do GitHub, na qual você pode criar um repositório. Crie um gratuitamente.

  • Criar diretório .pipeline, copiar flink-azure-pipelines.yml e flink-job-azure-pipeline.ps1

  • Organização do Azure DevOps. Crie um gratuitamente. Se sua equipe já tiver uma, verifique se você é administrador do projeto do Azure DevOps que deseja usar.

  • Capacidade de executar pipelines em agentes hospedados pela Microsoft. Para usar agentes hospedados pela Microsoft, sua organização do Azure DevOps precisa ter acesso a trabalhos paralelos hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar uma concessão 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 do cluster para copiar o jar do trabalho. Posteriormente, esse diretório precisará ser configurado no YAML do pipeline para a localização do jar do trabalho (<JOB_JAR_STORAGE_PATH>).

Etapas para configurar o pipeline

Criar uma entidade de serviço para Azure Pipelines

Crie uma entidade de serviço do Microsoft Entra para acessar o Azure – Conceda permissão para acessar o cluster do HDInsight no AKS com a função Colaborador e anote os valores de appId, senha e locatário 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

Observação

Apache, Apache Flink, Flink e nomes de projeto de software livre associados são marcas comerciais da Apache Software Foundation (ASF).

Criar um cofre de chave

  1. Crie o Azure Key Vault, siga 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 segredo da entidade de segurança.

    Captura de tela mostrando como criar um cofre de chaves.

  3. Conceda permissão para acessar o Azure Key Vault com a função "Responsável por segredos do Key Vault" à entidade de serviço.

Configurar pipeline

  1. Navegue até seu projeto e clique em Configurações do Projeto.

  2. Role a tela para baixo e selecione Conexões do Serviço e, em seguida, Nova Conexão do Serviço.

  3. Selecione Azure Resource Manager.

    Captura de tela mostrando como selecionar um novo serviço.

  4. No método de autenticação, selecione Entidade de serviço (automático).

    Captura de tela que mostra a nova conexão de serviço.

  5. Edite as propriedades da conexão do serviço. Selecione a entidade de serviço que você criou recentemente.

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

  6. Clique em Verificar para conferir 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. Será necessário atribuir a função Leitor à assinatura.

  8. Depois disso, a verificação deve ter sucesso.

  9. Salvar a conexão de serviço.

    Captura de tela mostrando como exibir a ID do locatário.

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

    Captura de tela mostrando como criar um pipeline.

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

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

    Captura de tela mostrando como pesquisar seu código.

  13. Selecione o repositório . Para saber mais, confira Como criar um repositório no GitHub.

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

  14. Na opção de configuração de pipeline, escolha Arquivo YAML do Azure Pipelines existente. Selecione o script do branch e do pipeline copiado 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 tela mostrando como substituir o valor.

  16. Corrija a seção de build de código com base em suas necessidades e configure <JOB_JAR_LOCAL_PATH> na seção variável para o caminho local do jar de trabalho.

    Captura de tela que mostra a seção 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 a variável de pipeline.

    é possível alterar os valores da variável antes de executar o pipeline.

    • NEW: esse é o valor padrão. Ele inicia um novo trabalho e, se o trabalho já estiver em execução, atualizará o trabalho em execução com o jar mais recente.

    • SAVEPOINT: esse valor usa o ponto de salvamento para executar o trabalho.

    • DELETE: cancelar ou excluir o trabalho em execução.

  18. Salve e execute o pipeline. Veja o trabalho em execução no portal na seção Trabalho do Flink.

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

Observação

Esse é um exemplo para enviar o trabalho usando o pipeline. Você pode seguir o documento da API REST do Flink para escrever seu próprio código para enviar o trabalho.