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 novos parâmetros de escalonamento e desempenho ou instalar pacotes PyPI personalizados, o ambiente é atualizado.
Quando a operação for concluída, as alterações ficarão disponíveis no seu ambiente.
Para um único ambiente do Cloud Composer, é possível iniciar apenas 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.
Limites de CPU do engatilhador
O Cloud Composer na versão 2.4.4 apresenta uma abordagem de escalonamento de desempenho diferente para o componente acionador do Airflow que se aplica a todas as versões 2 do Cloud Composer.
Antes da versão 2.4.4, os ambientes do Cloud Composer podiam usar no máximo um ou dois acionadores. Após a alteração, será possível ter até 10 acionadores por ambiente, mas cada um deles estará limitado a um máximo de 1 vCPU.
As operações de atualização do ambiente falharão se o ambiente estiver configurado com mais de uma vCPU por acionador. É preciso ajustar a configuração para atender ao limite de uma vCPU e executar atualizações em outros componentes.
Confira mais informações:
- Configurar a alocação de recursos do acionador
- Ajustar a contagem de acionadores
- Resolver problemas de upgrade do ambiente: CPU do acionador excedida
Como as atualizações afetam a execução de 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 no momento são encerradas. Após a conclusão da operação de atualização, o Airflow programa essas tarefas para uma nova tentativa, dependendo da maneira como você configura 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
Verifique se sua conta, a conta de serviço do ambiente e a conta do agente de serviço do Cloud Composer no projeto têm as permissões necessárias:
Sua conta precisa ter um papel que possa acionar operações de atualização do ambiente.
A conta de serviço do ambiente precisa ter um papel com permissões suficientes para executar operações de atualização.
A conta do agente de serviço do Cloud Composer precisa ter permissões para criar vinculações entre a conta de serviço do seu ambiente e a conta de serviço do Kubernetes do cluster do seu ambiente.
O comando
gcloud composer environments update
é encerrado quando a operação é concluída. Use a sinalização--async
para evitar a espera pela conclusão da operação.
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:
- Substituir as opções de configuração do Airflow
- Definir as variáveis de ambiente
- Instalar dependências do Python
- Escalonar ambientes
- Configurar redes autorizadas
- Atualizar ambientes para ter alta resiliência
Ver detalhes do ambiente
Console
No console do Google Cloud, acesse a página Ambientes.
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 ambienteLOCATION
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 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 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 instalar ou remover módulos PyPI adicionais, redefinir ou definir uma nova variável de ambiente do Airflow ou do Cloud Composer ou alterar alguns parâmetros relacionados ao Airflow.
Isso pode ocorrer se uma operação de atualização for acionada quando outras operações estiverem em andamento, como 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.
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 para 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 atrasar a inicialização de 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 definitivamente não exceder 100 MB de tamanho de dados.
Para mais informações, consulte também: