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 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.
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.
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.
Atualizar o tipo de máquina para nós do GKE
Pode atualizar manualmente o tipo de máquina do cluster do GKE do seu ambiente eliminando o default-pool
existente e criando um novo default-pool
com o tipo de máquina pretendido.
Recomendamos que especifique um tipo de máquina adequado para o tipo de computação que ocorre no seu ambiente do Cloud Composer quando cria um ambiente.
Se estiver a executar tarefas que realizam cálculos com utilização intensiva de recursos, pode querer usar os operadores do GKE.
Após uma atualização, o tipo de máquina anterior continua a ser apresentado nos detalhes do seu ambiente. Por exemplo, a página de detalhes do ambiente não reflete o novo tipo de máquina.
Consola
Para atualizar o tipo de máquina:
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.
Obtenha informações sobre o conjunto de nós predefinido:
Aceda ao separador Configuração do ambiente.
Clique no link Ver detalhes do cluster.
Na página Clusters, na secção Nodes, clique em default-pool.
Tome nota de todas as informações relativas a default-pool na página Detalhes do conjunto de nós. Use estas informações para criar um novo conjunto de nós predefinido para o seu ambiente.
Para eliminar default-pool:
Na página Detalhes do conjunto de nós, clique na seta para trás para voltar à página Clusters do seu ambiente.
Na secção Conjuntos de nós, clique no ícone de lixo para o default-pool. Em seguida, clique em Eliminar para confirmar a operação.
Para criar o novo default-pool:
Na página Clusters, clique em Add node pool (Adicionar conjunto de nós).
Em Nome, introduza
default-pool
. Tem de usar o nomedefault-pool
para que os fluxos de trabalho no seu ambiente possam ser executados neste conjunto.Introduza as definições de tamanho e nós.
(Apenas para contas de serviço do Compute Engine predefinidas) Para os âmbitos de acesso, selecione Permitir acesso total a todas as APIs Cloud.
Clique em Guardar.
Se notar que as cargas de trabalho estão distribuídas de forma desigual, reduza a implementação do trabalhador do Airflow para zero e aumente-a novamente.