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.
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.
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
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:
Como fazer upgrade do tipo de máquina para nós do GKE
É possível fazer upgrade manual do tipo de máquina para o cluster do GKE do seu ambiente excluindo o default-pool
atual e criando um novo default-pool
com o tipo de máquina desejado.
Recomendamos especificar um tipo de máquina adequado para o tipo de computação que ocorre no ambiente do Cloud Composer ao criar um ambiente.
Se você estiver executando jobs que executam computação com uso intensivo de recursos, convém usar os Operadores do GKE.
Após um upgrade, o tipo de máquina anterior ainda será listado nos detalhes do seu ambiente. Por exemplo, a página "Detalhes do ambiente" não reflete o novo tipo de máquina.
Console
Para fazer upgrade do tipo de máquina, siga estas etapas:
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.
Receba informações sobre o pool de nós padrão:
Acesse a guia Configuração do ambiente.
Clique no link conferir detalhes do cluster.
Na página Clusters da seção Nós, clique em default-pool.
Anote todas as informações de default-pool na página de detalhes do pool de nós. Use essas informações para criar um novo pool de nós padrão para seu ambiente.
Para excluir default-pool:
Na página Detalhes do pool de nós, clique na seta para voltar e retorne à página Clusters do seu ambiente.
Na seção Pools de nós, clique no ícone de lixeira do default-pool. Em seguida, clique em Excluir para confirmar a operação.
Para criar o novo default-pool:
Na página Clusters, clique em Adicionar pool de nós.
Em "Nome", insira
default-pool
. Use o nomedefault-pool
para que os fluxos de trabalho em seu ambiente possam ser executados neste pool.Insira as configurações de tamanho e nós.
(Apenas para contas de serviço padrão do Compute Engine) Em escopos de acesso, selecione Permitir acesso total a todas as APIs do Cloud.
Clique em Save.
Se você perceber que as cargas de trabalho estão distribuídas de maneira desigual, reduza a implantação do worker do Airflow para zero e escalonar verticalmente novamente.