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:
- Configurar a alocação de recursos do acionador
- Ajustar a contagem de acionadores
- Resolver problemas no upgrade do ambiente: CPU do acionador excedida
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
Verifique se a conta, a conta de serviço do ambiente e a conta do agente de serviço do Cloud Composer no seu projeto têm as permissões necessárias:
A 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 ambiente e a conta de serviço do Kubernetes do cluster do ambiente.
O comando
gcloud composer environments update
termina quando a operação é concluída. É possível usar a sinalização--async
para evitar esperar a 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 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 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 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 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: