Como usar Azure Pipelines com Apache Flink® no HDInsight em AKS
Importante
O Azure HDInsight no AKS se aposentou em 31 de janeiro de 2025. Saiba mais neste anúncio.
Você precisa migrar suas cargas de trabalho para microsoft fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho.
Importante
Esse recurso está atualmente em versão prévia. Os termos de uso complementares para o Microsoft Azure Previews 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, consulte Azure HDInsight em informações de visualização do AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para 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 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 em que você pode criar um repositório. Crie um gratuitamente.
Criar o diretório
.pipeline
, copiar flink-azure-pipelines.yml e flink-job-azure-pipeline.ps1Organização do Azure DevOps. Crie um gratuitamente. Se sua equipe já tiver um, verifique se você é um 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 deve 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, Criar um cluster Flink no HDInsight no AKS.
Crie um diretório na conta de armazenamento do cluster para copiar o arquivo jar do trabalho. Posteriormente, você precisará configurar esse diretório no YAML do pipeline para a localização do jar da tarefa (<JOB_JAR_STORAGE_PATH>).
Etapas para configurar o pipeline
Criar um principal de serviço para o Azure Pipelines
Crie entidade de serviço do Microsoft Entra para acessar o Azure – Conceda permissão para acessar o HDInsight no Cluster do AKS com a Função Colaborador e anote o ID do aplicativo, 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
Nota
Apache, Apache Flink, Flink e nomes de projeto de software livre associados são marcas comerciais do ASF (Apache Software Foundation).
Criar um cofre de chaves
Crie o Azure Key Vault, você pode seguir este tutorial para criar um novo Azure Key Vault.
Criar três segredos
chave-de-armzenamento-em-cluster para chave de armazenamento.
chave do principal do serviço para clientId ou appId principal.
segredo-principal-da-entidade-de-serviço para o segredo principal.
Conceda permissão ao principal de serviço para acessar o Azure Key Vault com a função "Key Vault Secrets Officer".
Configuração de pipeline
Navegue até o projeto e clique em Configurações do Projeto.
Role para baixo e selecione Conexões de Serviço e, em seguida, Nova Conexão de Serviço.
Selecione o Azure Resource Manager.
No método de autenticação, selecione Service Principal (manual).
Edite as propriedades da conexão de serviço. Selecione o principal de serviço que você criou 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.
Salve a conexão de serviço.
Navegue até Pipelines e clique em Novo Pipeline.
Selecione o GitHub como o local do código.
Selecione o repositório. Veja como criar um repositório no GitHub. imagem do repositório do GitHub selecionado.
Selecione o repositório. Para obter mais informações, veja Como criar um repositório no GitHub.
Na opção de configuração do pipeline, você pode escolher arquivo YAML do Azure Pipelines existente. Selecione o script de branch e pipeline copiado anteriormente. (.pipeline/flink-azure-pipelines.yml)
Substitua o valor na seção variável.
Corrigir a seção de construção de código com base em suas necessidades e configurar <JOB_JAR_LOCAL_PATH> na seção de variáveis para o caminho local do arquivo jar do 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: Esse valor é padrão. Ele inicia uma nova tarefa e, se a tarefa já estiver em execução, ele atualizará a tarefa em execução com o arquivo jar mais recente.
SAVEPOINT: Esse valor indica o ponto de salvamento para executar o trabalho.
DELETE: Cancelar ou excluir o trabalho em execução.
Salve e execute o pipeline. Você pode ver o job em execução no portal na seção Flink Job.
Nota
Este é 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.