Atualize ambientes do Cloud Composer

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página explica como um ambiente pode ser atualizado.

Acerca das operações de atualização

Quando altera os parâmetros do seu ambiente, como especificar novos parâmetros de escalabilidade e desempenho ou instalar pacotes PyPI personalizados, o seu ambiente é atualizado.

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

Para um único ambiente do Cloud Composer, só pode iniciar uma operação de atualização de cada vez. Tem de aguardar a conclusão de uma operação de atualização antes de iniciar outra operação de ambiente.

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

Quando executa uma operação de atualização, os programadores e os trabalhadores do Airflow no seu ambiente podem ter de ser reiniciados. Neste caso, todas as tarefas em execução são terminadas. Após a conclusão da operação de atualização, o Airflow agenda estas tarefas para uma nova tentativa, consoante a forma como configura as novas tentativas para os seus DAGs.

As seguintes alterações provocam a terminação da tarefa do Airflow:

  • Atualizar o seu ambiente para uma nova versão.
  • Adicionar, alterar ou eliminar pacotes PyPI personalizados.
  • Alterar as variáveis de ambiente do Cloud Composer.
  • Adicionar ou remover opções de configuração do Airflow substitui ou altera os respetivos valores.
  • Alterar a CPU, a memória ou o armazenamento dos trabalhadores do Airflow.
  • Reduzir o número máximo de trabalhadores do Airflow, se o novo valor for inferior ao número de trabalhadores em execução atualmente. Por exemplo, se um ambiente executar atualmente três trabalhadores e o máximo for reduzido para dois.

As seguintes alterações não causam a terminação da tarefa do Airflow:

  • Criar, atualizar ou eliminar um DAG (não uma operação de atualização).
  • Pausar ou retomar DAGs (não é uma operação de atualização).
  • Alterar variáveis do Airflow (não é uma operação de atualização).
  • Alterar as associações do Airflow (não é uma operação de atualização).
  • Ativar ou desativar a integração da linhagem de dados do catálogo universal do Dataplex.
  • Alterar o tamanho do ambiente.
  • Alterar o número de programadores.
  • Alterar a CPU, a memória ou o armazenamento dos programadores do Airflow.
  • Alterar o número de acionadores.
  • Alterar a CPU, a memória ou o armazenamento dos acionadores do Airflow.
  • Alterar a CPU, a memória ou o armazenamento do servidor Web do Airflow.
  • Aumentar ou diminuir o número mínimo de trabalhadores.
  • Reduzir o número máximo de trabalhadores do Airflow. Por exemplo, se um ambiente executar atualmente dois trabalhadores e o máximo for reduzido para três.
  • Alterar os períodos de manutenção.
  • Alterar as definições dos snapshots agendados.
  • Alterar etiquetas de ambiente.

Atualizar com o Terraform

Execute terraform plan antes de terraform apply para ver se o Terraform cria um novo ambiente em vez de o atualizar.

Antes de começar

Atualize ambientes

Para mais informações sobre a atualização do seu ambiente, consulte outras páginas de documentação sobre operações de atualização específicas. Por exemplo:

Veja detalhes do ambiente

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

gcloud

Execute o seguinte comando gcloud:

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.

API

Construa um pedido 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 seu ambiente.

terraform state show google_composer_environment.RESOURCE_NAME

Substituir:

  • RESOURCE_NAME com o nome do recurso do seu ambiente.

A reverter alterações de atualização

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

Por exemplo, uma operação de atualização pode estar a instalar ou remover módulos PyPI adicionais, a redefinir ou definir uma nova variável de ambiente do Airflow ou do Cloud Composer, ou a alterar alguns parâmetros relacionados com o Airflow.

Esta situação pode ocorrer se uma operação de atualização for acionada quando outras operações estiverem em curso, por exemplo, o ajuste de escala automático do cluster do Cloud Composer ou uma operação de manutenção.

Nessa situação, recomendamos que repita a operação.

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

A duração das operações de atualização e upgrade é afetada pelos seguintes fatores:

  • A maioria das operações de atualização requer o reinício dos componentes do Airflow, como os programadores, os trabalhadores e os servidores Web do Airflow. Depois de um componente ser reiniciado, tem de ser inicializado. Durante a inicialização, os programadores e os trabalhadores do Airflow transferem o conteúdo das pastas /dags e /plugins do contentor do ambiente. O processo de sincronização de ficheiros com os agendadores e os trabalhadores do Airflow não é instantâneo e depende do tamanho e do número totais de todos os objetos nestas pastas.

    Recomendamos que mantenha apenas os ficheiros DAG e de plug-ins nas pastas /dags e /plugins (respetivamente) e remova todos os outros ficheiros. Demasiados dados nas pastas /dags e /plugins podem tornar a inicialização dos componentes do Airflow mais lenta e, em determinados casos, impossibilitar a inicialização.

    Recomendamos que mantenha menos de 30 MB de dados nas pastas /dags e /plugins e que não exceda, de todo, o tamanho de 100 MB de dados. Para mais informações, consulte também Como processar um grande número de DAGs e plug-ins

  • O tamanho da base de dados do Airflow pode aumentar significativamente o tempo das operações de atualização. Recomendamos que mantenha o tamanho da base de dados do Airflow configurando uma política de retenção de bases de dados.

O que se segue?