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 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 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 Node Pools, 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-poolpara 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.