Criar ambientes de execução

Esta página descreve o processo de criação de ambientes de executor que vão executar seus pipelines de orquestração.

Sobre os ambientes de executor

Cada ambiente de implantação precisa ter um ambiente de executor. O Airflow Gerenciado é o mecanismo de orquestração que executa seus pipelines após a implantação. Um ambiente de executor é 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 ascotas e 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 executor.

  • Os pipelines de orquestração podem ser executados em ambientes de executor 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 de Orquestração de Pipelines são pré-instalados no Airflow Gerenciado a partir das seguintes versões:

    • composer-3-airflow-3.1.7-build.5
    • composer-3-airflow-2.11.1-build.1, composer-3-airflow-2.10.5-build.34 e composer-3-airflow-2.9.3-build.54
    • composer-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-pipelines do PyPI manualmente.

  • O tempo aproximado para criar um ambiente do Airflow Gerenciado é de 25 minutos.

  • É possível criar ambientes do Airflow Gerenciado no Google Cloud console, na CLI gcloud e no Terraform. 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 muitas outras opções de configuração de rede e segurança. Para mais informações sobre diferentes maneiras de configurar um ambiente de executor, consulte Criar ambientes na documentação do Airflow Gerenciado.

Analisar os papéis necessários do IAM

Para receber as permissões necessárias para criar ambientes de executor no projeto, peça ao administrador para conceder a você os seguintes papéis:

  • Papel de 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 esses papéis de usuário, consulte Conceder papéis aos usuários na documentação do Serviço Gerenciado para Apache Airflow.

Ativar a API Cloud Composer e as APIs para ações

  1. Ativar a API Cloud Composer. Para conferir a lista completa de serviços usados pelo Airflow Gerenciado, consulte Serviços exigidos pelo Airflow Gerenciado.
  2. Ative as APIs dos Google Cloud serviços que você quer usar (como a API Dataproc).

Criar uma conta de serviço para o ambiente de executor e conceder papéis do IAM a ela

A conta de serviço do ambiente de executor é usada para criar um novo ambiente do Serviço Gerenciado para Apache Airflow e executar todos os pipelines de orquestração que você implanta nele.

Peça para o administrador fazer o seguinte:

  1. Crie uma conta de serviço conforme descrito na documentação do Identity and Access Management.

  2. Conceda a ela o papel de 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 Google Cloud projeto, conceda permissões extras para acessar esses recursos 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.

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

  4. Conceda as permissões que serão necessárias para o pipeline. Todas as tarefas de orquestração em um pipeline serão executadas pela conta de serviço desse ambiente de executor. Portanto, é necessário conceder manualmente todas as permissões necessárias nessa conta de serviço.

    Por exemplo, se o pipeline usa uma ação executada em um cluster efêmero do Serviço Gerenciado para Apache Spark, a conta de serviço do ambiente de executor precisa 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 do 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-3 ou composer-2-airflow-2.
  • Local: qualquer local. Exemplo: us-central1.
  • Conta de serviço: conta de serviço que você criou para esse 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 de cargas de trabalho recomendadas para a prévia (é possível aumentar ou diminuir a escala mais tarde):

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

Leva aproximadamente 25 minutos para criar um ambiente do Airflow Gerenciado.

(Opcional) Instalar o pacote Orquestração de Pipelines do PyPI

A Orquestração de Pipelines depende do orchestration-pipelines pacote do PyPI. Por padrão, o ambiente de executor 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 do pacote, é possível instalar 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 PyPI no ambiente de executor 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 de executor à [configuração de implantação][op-deploy].