Atualizar ambientes do Cloud Composer

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Nesta página, explicamos como um ambiente pode ser atualizado.

Sobre as operações de atualização

Quando você muda os parâmetros do ambiente, como especificar novos parâmetros de escalonamento e desempenho ou instalar pacotes PyPI personalizados, o ambiente é atualizado.

Depois que essa operação for concluída, as mudanças vão estar disponíveis no seu ambiente.

Para 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 de ambiente.

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

Quando você executa uma operação de atualização, os programadores e workers do Airflow no seu ambiente podem precisar ser reiniciados. Nesse caso, todas as tarefas em execução são encerradas. Depois que a operação de atualização for concluída, o Airflow vai programar essas tarefas para uma nova tentativa, dependendo da maneira como você configura as novas tentativas para seus DAGs.

As seguintes mudanças causam o encerramento da tarefa do Airflow:

  • Fazendo upgrade do ambiente para uma nova versão.
  • Adicionar, mudar ou excluir pacotes personalizados do PyPI.
  • Mudar variáveis de ambiente do Cloud Composer.
  • Adicionar ou remover substituições de opções de configuração do Airflow ou mudar os valores delas.
  • Alterar a CPU, a memória ou o armazenamento dos workers do Airflow.
  • Reduzir o número máximo de workers do Airflow, se o novo valor for menor do que o número de workers em execução no momento. Por exemplo, se um ambiente estiver executando três workers e o máximo for reduzido para dois.

As seguintes mudanças não causam o encerramento da tarefa do Airflow:

  • Criar, atualizar ou excluir um DAG (não uma operação de atualização).
  • Pausar ou retomar DAGs (não é uma operação de atualização).
  • Mudar variáveis do Airflow (não é uma operação de atualização).
  • Alterar conexões do Airflow (não é uma operação de atualização).
  • Ativar ou desativar a integração da linhagem de dados do Universal Catalog do Dataplex.
  • Mudando o tamanho do ambiente.
  • Mudar o número de programadores.
  • Alterar a CPU, a memória ou o armazenamento dos programadores do Airflow.
  • Mudar o número de acionadores.
  • Alterar a CPU, a memória ou o armazenamento dos gatilhos do Airflow.
  • Alterar a CPU, a memória ou o armazenamento do servidor da Web do Airflow.
  • Aumentar ou diminuir o número mínimo de workers.
  • Reduzir o número máximo de workers do Airflow. Por exemplo, se um ambiente estiver executando dois workers e o máximo for reduzido para três.
  • Alterar janelas de manutenção.
  • Alterar as configurações de snapshots programados.
  • Como mudar os identificadores de ambiente.

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 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 com o nome do recurso do ambiente.

Revertendo mudanças na 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 mudanças 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 instalar ou remover módulos PyPI adicionais, redefinir ou definir uma nova variável de ambiente do Airflow ou do Cloud Composer ou mudar alguns parâmetros relacionados ao Airflow.

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

Nesse caso, recomendamos repetir a operação.

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

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

  • 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. Depois que um componente é reiniciado, ele precisa ser inicializado. Durante a inicialização, os programadores e workers do Airflow baixam o conteúdo das pastas /dags e /plugins do bucket do ambiente. O processo de sincronização de arquivos com 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. Muitos dados nas pastas /dags e /plugins podem diminuir a velocidade da inicialização dos componentes do Airflow e, em alguns casos, impossibilitar a inicialização.

    Recomendamos manter menos de 30 MB de dados nas pastas /dags e /plugins e não exceder 100 MB. Para mais informações, consulte também Como lidar com um grande número de DAGs e plug-ins.

  • O tamanho do banco de dados do Airflow pode aumentar significativamente o tempo das operações de upgrade. Recomendamos manter o tamanho do banco de dados do Airflow configurando uma política de retenção de banco de dados.

A seguir