Atualizar ambientes

Cloud Composer 1 | Cloud Composer 2

Nesta página, explicamos como atualizar um ambiente.

Sobre as operações de atualização

Quando você altera os parâmetros do ambiente, como a especificação de novos parâmetros de escalonamento e desempenho ou a instalação de pacotes PyPI personalizados, o ambiente é atualizado.

Após a conclusão dessa operação, as alterações ficarão disponíveis no seu ambiente.

Em um único ambiente do Cloud Composer, só é possível iniciar uma operação de atualização por vez. Aguarde a conclusão de uma operação de atualização antes de iniciar outra operação do ambiente.

Limites de CPU do acionador

O Cloud Composer versão 2.4.4 apresenta uma abordagem de escalonamento de desempenho diferente para o componente Acionadores do Airflow que se aplica a todas as versões do Cloud Composer 2.

Antes da versão 2.4.4, os ambientes do Cloud Composer podiam usar no máximo um ou dois engatilhadores. Após a alteração, é possível ter até 10 engatilhadores por ambiente, mas cada um é limitado a 1 vCPU.

As operações de atualização do ambiente falharão se o ambiente estiver configurado com mais de uma vCPU por acionador. Você precisa ajustar a configuração para atender ao limite de 1 vCPU para realizar atualizações em outros componentes.

Veja mais informações em:

Como as atualizações afetam a execução das tarefas do Airflow

Quando você executa uma operação de atualização, como a instalação de pacotes PyPI personalizados, todos os programadores e workers do Airflow no ambiente são reiniciados e todas as tarefas em execução são encerradas. Após a conclusão da operação de atualização, o Airflow programará essas tarefas para uma nova tentativa, dependendo da maneira como você configurar novas tentativas para os DAGs.

Como atualizar com o Terraform

Execute terraform plan antes de terraform apply para ver se o Terraform cria um novo ambiente em vez de atualizá-lo.

Antes de começar

Atualizar ambientes

Para mais informações sobre como atualizar seu ambiente, consulte outras páginas de documentação sobre operações de atualização específicas. Exemplo:

Ver detalhes do ambiente

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

gcloud

Execute o seguinte comando gcloud:

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION

Substitua:

  • ENVIRONMENT_NAME pelo nome do ambiente
  • LOCATION pela região em que o ambiente está localizado;

API

Crie uma solicitação de API environments.get.

Exemplo:

GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment

Terraform

Execute o comando terraform state show para o recurso do seu ambiente.

O nome do recurso do Terraform do seu ambiente pode ser diferente do nome do ambiente.

terraform state show google_composer_environment.RESOURCE_NAME

Substitua:

  • RESOURCE_NAME pelo nome do recurso do ambiente.

Revertendo alterações de atualização

Em algumas situações raras, uma operação de atualização pode ser interrompida (por exemplo, devido a um tempo limite) e as alterações solicitadas podem não ser revertidas em todos os componentes do ambiente, como o servidor da Web do Airflow.

Por exemplo, uma operação de atualização pode ser a instalação ou remoção de outros módulos PyPI, a redefinição ou definição de uma nova variável de ambiente do Airflow ou do Cloud Composer ou a alteração de alguns parâmetros relacionados ao Airflow.

Essa situação poderá ocorrer se uma operação de atualização for acionada quando outras operações estiverem em andamento, por exemplo, o escalonamento automático do cluster do Cloud Composer ou uma operação de manutenção.

Nessa situação, é recomendável repetir a operação.

Duração das operações de atualização ou upgrade

A maioria das operações de atualização ou upgrade exige a reinicialização de componentes do Airflow, como programadores, workers e servidores da Web do Airflow.

Quando um componente é reiniciado, ele precisa ser inicializado. Durante a inicialização, os programadores e os workers do Airflow fazem o download do conteúdo das pastas /dags e /plugins do bucket do ambiente. O processo de sincronização de arquivos com os programadores e workers do Airflow não é instantâneo e depende do tamanho total e do número de todos os objetos nessas pastas.

Recomendamos manter apenas os arquivos DAG e de plug-in nas pastas /dags e /plugins, respectivamente, e remover todos os outros arquivos. O excesso de dados nas pastas /dags e /plugins pode atrasar a inicialização dos componentes do Airflow e, em alguns casos, pode impossibilitar a inicialização.

Recomendamos manter menos de 30 MB de dados em pastas /dags e /plugins e não exceder 100 MB de tamanho de dados.

Para mais informações, consulte também:

A seguir