Nesta página, descrevemos o processo de criação de ambientes de execução que vão executar seus pipelines de orquestração.
Sobre ambientes de execução
Cada ambiente de implantação precisa ter um ambiente de execução. O Airflow Gerenciado é o mecanismo de orquestração que executa seus pipelines depois que eles são implantados. Um ambiente de execução é um ambiente do Airflow Gerenciado que você atribuiu ao ambiente de implantação.
Antes de começar
No momento, o único executor disponível para Orquestração de Pipelines no Google Cloud é o Serviço Gerenciado para Apache Airflow. Todas as cotas e os limites do sistema do Airflow Gerenciado são aplicáveis. Consulte os preços do Airflow Gerenciado para mais informações sobre os custos de um ambiente de execução.
A Orquestração de Pipelines pode ser executada em ambientes de execução do Airflow Gerenciado (Geração 3) e (Geração 2). No Airflow gerenciado (Geração 3), é possível usar o Airflow 3 e o Airflow 2.
Os pacotes do Orquestração de Pipelines vêm pré-instalados no Airflow Gerenciado a partir das seguintes versões:
composer-3-airflow-3.1.7-build.5composer-3-airflow-2.11.1-build.1,composer-3-airflow-2.10.5-build.34ecomposer-3-airflow-2.9.3-build.54composer-2.16.11-airflow-2.11.1,composer-2.16.11-airflow-2.10.5
Se você usa uma versão anterior do Airflow Gerenciado, é possível instalar o pacote
orchestration-pipelinesdo PyPI manualmente.O tempo aproximado para criar um ambiente do Airflow Gerenciado é de 25 minutos.
É possível criar ambientes gerenciados do Airflow no console, CLI gcloud e no Terraform.Google Cloud Este guia demonstra apenas comandos da CLI gcloud. Para instruções e exemplos de outras abordagens, consulte Criar ambientes na documentação do Airflow Gerenciado.
A configuração padrão fornecida neste guia cria um ambiente do Airflow Gerenciado com IP público. O Airflow Gerenciado oferece muito mais opções de configuração de rede e segurança. Para mais informações sobre diferentes maneiras de configurar um ambiente de execução, consulte Criar ambientes na documentação do Airflow Gerenciado.
Revisar os papéis necessários do IAM
Para ter as permissões necessárias para criar ambientes de execução no seu projeto, peça ao administrador para conceder a você os seguintes papéis:
- Administrador de objetos do armazenamento e do ambiente
(
composer.environmentAndStorageObjectAdmin) e Usuário da conta de serviço (iam.serviceAccountUser) para criar e gerenciar ambientes no Serviço Gerenciado para Apache Airflow e gerenciar objetos em buckets associados a esses ambientes. Para mais informações sobre essas funções de usuário, consulte Conceder papéis aos usuários na documentação do Serviço Gerenciado para Apache Airflow.
Ativar a API Composer e as APIs para ações
- Ative a API Cloud Composer. Para conferir a lista completa de serviços usados pelo Airflow Gerenciado, consulte Serviços exigidos pelo Airflow Gerenciado.
- Ative as APIs dos serviços Google Cloud que você quer usar, como a API Dataproc.
Crie uma conta de serviço para o ambiente do runner e conceda a ela papéis do IAM.
A conta de serviço do ambiente de execução é usada para criar um novo ambiente do Serviço Gerenciado para Apache Airflow e executar todos os pipelines de orquestração implantados nele.
Peça para o administrador fazer o seguinte:
Crie uma conta de serviço conforme descrito na documentação do Identity and Access Management.
Conceda a ela o papel Worker do Composer (
composer.worker). Esse papel fornece o conjunto de permissões necessárias na maioria dos casos.Para acessar outros recursos no seu projeto Google Cloud , conceda permissões extras a essa conta de serviço. Adicione permissões extras a essa conta de serviço somente quando necessário para a operação do pipeline de orquestração.
Se você quiser usar um ambiente do Airflow Gerenciado (Geração 2), siga as instruções em Conceder as permissões necessárias à conta de serviço do Airflow Gerenciado para conceder permissões extras.
Conceda as permissões necessárias para seu pipeline. Todas as tarefas de orquestração em um pipeline serão executadas pela conta de serviço do ambiente de execução. Portanto, você precisa conceder manualmente todas as permissões necessárias nessa conta de serviço.
Por exemplo, se o pipeline usar uma ação executada em um cluster efêmero do Serviço Gerenciado para Apache Spark, a conta de serviço do ambiente de execução precisará ter permissões para criar e excluir um cluster do Serviço Gerenciado para Apache Spark, além de acionar e gerenciar jobs do Serviço Gerenciado para Apache Spark. Além disso, a API Dataproc precisa estar ativada.
Criar um ambiente do Serviço gerenciado para Apache Airflow
Crie um ambiente do Serviço gerenciado para Apache Airflow com as seguintes considerações.
- Nome do ambiente: qualquer nome. Você vai usar esse nome mais tarde para
[implantar][op-deploy] seus pipelines. Exemplo:
example-runner. - Versão da imagem: versão do Serviço Gerenciado para Apache Airflow e Airflow a ser usada. Na
CLI gcloud, é possível usar um alias que aponta para a versão
padrão, por exemplo,
composer-3-airflow-3oucomposer-2-airflow-2. - Local: qualquer local. Exemplo:
us-central1. - Conta de serviço: conta de serviço que você criou para este ambiente.
Exemplo de comando da CLI gcloud:
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com"
Exemplo de configuração recomendada de cargas de trabalho para a prévia (é possível aumentar ou diminuir a escala depois):
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com" \
--scheduler-cpu 2 \
--scheduler-memory 8GB \
--dag-processor-cpu 4 \
--dag-processor-memory 8GB \
--worker-cpu 4 \
--worker-memory 8GB
A criação de um ambiente de Airflow Gerenciado leva aproximadamente 25 minutos.
(Opcional) Instalar o pacote Orquestração de Pipelines do PyPI
A Orquestração de Pipelines depende do
pacote orchestration-pipelines do PyPI.
Por padrão, o ambiente do runner já tem esse pacote pré-instalado.
Se você usa uma versão anterior do Airflow Gerenciado que não tem esse pacote pré-instalado ou quer instalar uma versão diferente, instale esse pacote do PyPI.
Exemplo:
gcloud composer environments update example-runner \
--location us-central1 \
--update-pypi-package "orchestration-pipelines>=0.11.1"
Para mais informações sobre como instalar pacotes do PyPI no ambiente do runner e exemplos de como fazer isso no Google Cloud console e no Terraform, consulte Instalar dependências do Python na documentação do Serviço Gerenciado para Apache Airflow.
A seguir
- Adicione o ambiente do executor à [configuração de implantação][op-deploy].