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.
Limites de CPU do acionador
O Cloud Composer na versão 2.4.4 introduz uma abordagem de escalabilidade de desempenho diferente para o componente Airflow triggerer 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 um máximo de 1 ou 2 acionadores. Após a alteração, pode ter até 10 acionadores por ambiente, mas cada acionador está limitado a um máximo de 1 vCPU.
As operações de atualização do ambiente falham se o seu ambiente estiver configurado com mais de 1 vCPU por acionador. Tem de ajustar a configuração para cumprir o limite de 1 vCPU para fazer atualizações noutros componentes.
Para mais informações, consulte:
- Configure a atribuição de recursos do acionador
- Ajuste a contagem de acionadores
- Resolva problemas de atualização do ambiente: CPU do acionador excedida
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.
A alterar o modo de resiliência do ambiente.
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
Verifique se a sua conta, a conta de serviço do seu ambiente e a conta do agente do serviço do Cloud Composer no seu projeto têm as autorizações necessárias:
A sua conta tem de ter uma função que possa acionar operações de atualização do ambiente.
A conta de serviço do seu ambiente tem de ter uma função que tenha autorizações suficientes para realizar operações de atualização.
A conta do agente do serviço do Cloud Composer tem de ter autorizações para criar associaçõ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
termina quando a operação estiver concluída. Pode usar a flag--async
para evitar esperar pela conclusão da operação.
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:
- Substitua as opções de configuração do Airflow
- Defina variáveis de ambiente
- Instale as dependências do Python
Veja detalhes do ambiente
Consola
Na Google Cloud consola, aceda à página Ambientes.
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-insO 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 mantendo a base de dados do Airflow do seu ambiente.