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.
Como as atualizações afetam as tarefas do Airflow em execução
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.
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 as 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 Dataplex Universal Catalog.
- 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.
O comando
gcloud composer environments updatetermina quando a operação estiver concluída. Pode usar a flag--asyncpara evitar ter de aguardar a 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 acerca de 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_NAMEcom o nome do ambiente.LOCATIONcom 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_NAMEcom 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
/dagse/pluginsdo contentor do ambiente. O processo de sincronização de ficheiros com os programadores 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
/dagse/plugins(respetivamente) e remova todos os outros ficheiros. Demasiados dados nas pastas/dagse/pluginspodem tornar a inicialização dos componentes do Airflow mais lenta e, em determinados casos, podem impossibilitar a inicialização.Recomendamos que mantenha menos de 30 MB de dados nas pastas
/dagse/plugins, e que não exceda definitivamente 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 configurando uma política de retenção de bases de dados.