Atualizar ambientes

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Sobre as operações de atualização

Quando você altera os parâmetros do ambiente, como especificar um novo escalonamento e parâmetros de desempenho ou instalar pacotes PyPI personalizados, atualizações do ambiente de execução.

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

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

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

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

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

  • Fazer upgrade do ambiente para uma nova versão.
  • Adicionar, alterar ou excluir pacotes PyPI personalizados.
  • Como alterar as variáveis de ambiente do Cloud Composer.
  • adicionar ou remover substituições das opções de configuração do Airflow ou alterar as valores.
  • Alterar a CPU, a memória ou o armazenamento dos workers do Airflow.
  • Reduza 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. Por exemplo, se um ambiente estiver executando três workers e o máximo for reduzido para dois.
  • Alterar o modo de resiliência do ambiente.

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

  • Criação, atualização ou exclusão de 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 conexões do Airflow (não uma operação de atualização).
  • Ativar ou desativar a integração da linhagem de dados 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.
  • Mudar 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 da Web do Airflow.
  • Aumentar ou diminuir o número mínimo de workers.
  • Reduza 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.
  • Alteração das janelas de manutenção.
  • Alterar as configurações de snapshots programados.
  • Como alterar rótulos de ambiente.

Como atualizar com o Terraform

Execute terraform plan antes de terraform apply para conferir 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 documentações 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 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.

Reverter as 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 alterações solicitadas podem não ser revertido 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 Módulos PyPI, redefinição ou definição de um novo Airflow ou Cloud Composer variável de ambiente ou alterar alguns parâmetros relacionados ao Airflow.

Essa situação pode ocorrer se uma operação de atualização for acionada quando outros operações estão em andamento, por exemplo, as operações escalonamento automático ou uma operação de manutenção.

Nesse caso, é 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.

Quando um componente é reiniciado, ele precisa ser inicializado. Durante a inicialização, os programadores e 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 programadores e workers do Airflow não é instantâneo e depende do tamanho e do número total de todos os objetos nessas pastas.

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

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

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

Como fazer upgrade do tipo de máquina para nós do GKE

É possível fazer upgrade manual do tipo de máquina da o cluster do GKE excluindo os default-pool e criando um novo default-pool com o tipo de máquina desejado.

Recomendamos especificar um tipo de máquina adequado para o tipo de computação que ocorre no ambiente do Cloud Composer ao criar um ambiente.

Se você estiver executando jobs que fazem cálculos com uso intensivo de recursos, é possível quiser usar operadores do GKE.

Após um upgrade, o tipo de máquina anterior ainda é listado nos detalhes do ambiente. Por exemplo, a página "Detalhes do ambiente" não reflete o novo tipo de máquina.

Console

Para fazer upgrade do tipo de máquina, siga estas etapas:

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

    Acessar "Ambientes"

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

  3. Receba informações sobre o pool de nós padrão:

    1. Acesse a guia Configuração do ambiente.

    2. Clique no link ver os detalhes do cluster.

    3. Na página Clusters, na seção Nodes, clique em default-pool.

    4. Anote todas as informações de default-pool na página de detalhes do pool de nós. Você usa essas informações para criar um novo pool de nós padrão para seu ambiente.

  4. Para excluir o default-pool:

    1. Na página Detalhes do pool de nós, clique na seta de voltar para retornar à página Clusters do seu ambiente.

    2. Na seção Pools de nós, clique no ícone da lixeira para o default-pool. Em seguida, clique em Excluir para confirmar a operação.

  5. Para criar o novo default-pool:

    1. Na página Clusters, clique em Adicionar pool de nós.

    2. Em "Nome", insira default-pool. Use o nome default-pool para que os fluxos de trabalho no seu ambiente possam ser executados nesse pool.

    3. Insira as configurações de tamanho e nós.

    4. Apenas para contas de serviço padrão do Compute Engine. Para escopos de acesso, selecione Permitir acesso total a todas as APIs do Cloud.

    5. Clique em Salvar.

  6. Se você notar que as cargas de trabalho são distribuídas de maneira desigual, reduza a implantação do worker do Airflow para zero e aumente novamente.

A seguir