Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página explica como transferir DAGs, dados e configuração do seu ambiente do Cloud Composer 2 existente para o Cloud Composer 3.
Outros guias de migração
De | Para | Método | Guia |
---|---|---|---|
Cloud Composer 2 | Cloud Composer 3 | Paralelamente, usando o guião de migração | Guia de migração de scripts |
Cloud Composer 2 | Cloud Composer 3 | Lado a lado, usando instantâneos | Este guia |
Cloud Composer 1, Airflow 2 | Cloud Composer 3 | Lado a lado, usando instantâneos | Guia de migração do Snapshots |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Lado a lado, usando instantâneos | Guia de migração do Snapshots |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Transferência manual lado a lado | Guia de migração manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Lado a lado, usando instantâneos | Guia de migração do Snapshots |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Transferência manual lado a lado | Guia de migração manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 1, Airflow 2 | Transferência manual lado a lado | Guia de migração manual |
Antes de começar
Este guia de migração usa capturas de ecrã. As capturas instantâneas são suportadas na versão 2.0.9 e posteriores do Cloud Composer 2.
O Cloud Composer suporta a migração lado a lado do Cloud Composer 2 para o Cloud Composer 3. Não é possível atualizar o Cloud Composer 2 para o Cloud Composer 3 no local.
Consulte a lista de diferenças entre o Cloud Composer 2 e o Cloud Composer 3. Certifique-se de que o seu ambiente não usa funcionalidades que ainda não estão disponíveis no Cloud Composer 3.
O tamanho máximo da base de dados do Airflow que suporta resumos é de 20 GB. Se a base de dados do seu ambiente ocupar mais de 20 GB, reduza o tamanho da base de dados do Airflow.
O número total de objetos nas pastas
/dags
,/plugins
e/data
no contentor do ambiente tem de ser inferior a 100 000 para criar instantâneos.Se usar o mecanismo XCom para transferir ficheiros, certifique-se de que o usa de acordo com as diretrizes do Airflow. A transferência de ficheiros grandes ou de um grande número de ficheiros através do XCom afeta o desempenho da base de dados do Airflow e pode originar falhas ao carregar instantâneos ou atualizar o seu ambiente. Considere usar alternativas, como o Cloud Storage, para transferir grandes volumes de dados.
Certifique-se de que os seus DAGs são compatíveis com o Cloud Composer 3
Certifique-se de que os seus DAGs são compatíveis com o Cloud Composer 3 seguindo estas sugestões:
A lista de pacotes no ambiente do Cloud Composer 3 pode ser diferente da do ambiente do Cloud Composer 2. Isto pode afetar a compatibilidade dos seus DAGs com o Cloud Composer 3.
O Cloud Composer carrega substituições de configuração, variáveis de ambiente e pacotes PyPI a partir da captura instantânea do ambiente do Cloud Composer 2 para o Cloud Composer 3 sem as alterar nem ajustar para compatibilidade. Para resolver conflitos entre estes parâmetros de configuração, pode ignorar o carregamento de pacotes PyPI personalizados, variáveis de ambiente e substituições de configuração do Airflow quando carrega a captura instantânea.
No Cloud Composer 3, o cluster do ambiente está localizado no projeto de inquilino. Certifique-se de que os seus DAGs são compatíveis com esta alteração. Em particular, as cargas de trabalho
KubernetesPodOperator
são agora dimensionadas independentemente do seu ambiente e não é possível usar configurações de afinidade de pods.
Pause DAGs no seu ambiente do Cloud Composer 2
Para evitar execuções duplicadas de DAGs, pause todos os DAGs no seu ambiente do Cloud Composer 2 antes de guardar a respetiva captura de ecrã. Ignore o DAG de monitorização da vivacidade (airflow_monitoring
), que é usado para fins de monitorização e não está incluído nas capturas instantâneas do ambiente.
Pode usar qualquer uma das seguintes opções para pausar DAGs:
Pause DAGs one by one in Google Cloud console:
Na Google Cloud consola, aceda à página Ambientes.
Selecione um ambiente para ver os respetivos detalhes.
Na página Detalhes do ambiente, aceda ao separador DAGs.
Clique no nome de um DAG.
Na página Detalhes do DAG, clique em Pausar DAG.
Na interface Web do Airflow, aceda a DAGs e pause todos os DAGs manualmente.
Use o script composer_dags para pausar todos os DAGs:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation pause
Substituir:
COMPOSER_2_ENV
com o nome do seu ambiente do Cloud Composer 2.PROJECT_ID
com o ID do projeto.COMPOSER_2_LOCATION
com a região onde o ambiente está localizado.
Guarde uma captura instantânea do seu ambiente do Cloud Composer 2
Consola
Crie um instantâneo do seu ambiente:
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 2. É apresentada a página Detalhes do ambiente.
Clique em Criar instantâneo.
Na caixa de diálogo Criar instantâneo, clique em Enviar. Neste guia, guarda a captura de ecrã no contentor do ambiente do Cloud Composer 2, mas pode selecionar uma localização diferente, se quiser. Se especificar uma localização personalizada, as contas de serviço de ambos os ambientes têm de ter autorizações de leitura e escrita para a localização especificada.
Aguarde até que o Cloud Composer crie a captura instantânea.
Depois de criar o instantâneo, a mensagem apresentada indica a localização do instantâneo. Guarde estas informações para as usar mais tarde quando carregar esta imagem instantânea para o ambiente do Cloud Composer 3.
Por exemplo, a localização do instantâneo pode ter o seguinte aspeto:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
gcloud
Crie um instantâneo do seu ambiente do Cloud Composer 2:
gcloud composer environments snapshots save \ COMPOSER_2_ENV \ --location COMPOSER_2_LOCATION
Substituir:
COMPOSER_2_ENV
com o nome do seu ambiente do Cloud Composer 2.COMPOSER_2_LOCATION
com a região onde o ambiente do Cloud Composer 2 está localizado.(Opcional) Pode usar o argumento
--snapshot-location
para especificar uma localização personalizada onde a captura de ecrã do ambiente tem de ser armazenada.Neste guia, guarda a imagem instantânea no contentor do ambiente do Cloud Composer 2, mas pode selecionar uma localização diferente, se quiser. Se especificar uma localização personalizada, as contas de serviço de ambos os ambientes têm de ter autorizações de leitura e escrita para a localização especificada.
Depois de criar o instantâneo, a mensagem apresentada indica a localização do instantâneo. Guarde estas informações para as usar mais tarde quando carregar esta imagem instantânea para o ambiente do Cloud Composer 3.
Por exemplo, a localização do instantâneo pode ter o seguinte aspeto:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
Crie um ambiente do Cloud Composer 3
Crie um ambiente do Cloud Composer 3 seguindo as diretrizes abaixo:
Pode começar com a mesma configuração de limites de recursos que o seu ambiente do Cloud Composer 2 e, mais tarde, dimensionar e otimizar ainda mais a configuração.
Nos ambientes do Cloud Composer 3, o processador DAG do Airflow é executado como um componente do ambiente separado. Uma vez que o processador de DAGs transfere a análise dos DAGs do programador, é recomendável redistribuir os recursos anteriormente atribuídos aos programadores do Airflow. Pode fazê-lo mais tarde, depois de migrar para o Cloud Composer 3, e monitorizar o desempenho do agendador e do processador de DAGs.
O Cloud Composer 3 oferece uma configuração de rede mais simplificada e simplificada em comparação com o Cloud Composer 2. É possível alternar entre a configuração de rede de IP público e IP privado, bem como anexar e desanexar redes VPC. Não precisa de especificar intervalos de IP . Certifique-se de que a configuração de rede do ambiente do Cloud Composer 3 corresponde à configuração do Cloud Composer 2.
Não precisa de especificar substituições de configuração nem variáveis de ambiente, porque as substitui mais tarde quando carregar o instantâneo do seu ambiente do Cloud Composer 2.
Carregue a captura de ecrã para o seu ambiente do Cloud Composer 3
Consola
Para carregar a captura instantânea para o seu ambiente do Cloud Composer 3:
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 3. É apresentada a página Detalhes do ambiente.
Clique em Carregar instantâneo.
Na caixa de diálogo Carregar resumo, clique em Procurar.
Selecione a pasta com o instantâneo.
Se usar a localização predefinida para este guia, esta pasta encontra-se no contentor do ambiente do Cloud Composer 2 na pasta
/snapshots
e o respetivo nome é a data/hora da operação de guardar a captura de ecrã. A mesma localização foi apresentada na mensagem sobre a criação bem-sucedida do instantâneo.Por exemplo:
us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.Clique em Carregar e aguarde até que o Cloud Composer carregue a captura instantânea.
gcloud
Carregue a captura instantânea do seu ambiente do Cloud Composer 2 para o seu ambiente do Cloud Composer 3:
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Substituir:
COMPOSER_3_ENV
com o nome do seu ambiente do Cloud Composer 3.COMPOSER_3_LOCATION
com a região onde o ambiente do Cloud Composer 3 está localizado.SNAPSHOT_PATH
com o URI do contentor do seu ambiente do Cloud Composer 2, seguido do caminho para a captura instantânea. A mesma localização foi apresentada na mensagem sobre a criação bem-sucedida do instantâneo. Por exemplo:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12
.
Retome os DAGs no ambiente do Cloud Composer 3
Pode usar qualquer uma das seguintes opções:
Despause os DAGs um a um na Google Cloud consola:
Na Google Cloud consola, aceda à página Ambientes.
Selecione um ambiente para ver os respetivos detalhes.
Na página Detalhes do ambiente, aceda ao separador DAGs.
Clique no nome de um DAG.
Na página Detalhes do DAG, clique em Retomar DAG.
Na interface Web do Airflow, aceda a DAGs e retome todos os DAGs manualmente, um a um.
Use o script composer_dags para reativar todos os DAGs:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpause
Substituir:
COMPOSER_3_ENV
com o nome do seu ambiente do Cloud Composer 3.PROJECT_ID
com o ID do projeto.COMPOSER_3_LOCATION
com a região onde o ambiente está localizado.
Verifique se existem erros de DAG
Na interface Web do Airflow, aceda a DAGs e verifique se existem erros de sintaxe de DAG comunicados.
Verifique se as execuções de DAG estão agendadas para a hora correta.
Aguarde a execução dos DAGs no ambiente do Cloud Composer 3 e verifique se foram bem-sucedidos. Se uma execução de DAG tiver sido bem-sucedida, não a despause no ambiente do Cloud Composer 2. Se o fizer, ocorre uma execução de DAG para a mesma data e hora no ambiente do Cloud Composer 2.
Se a execução de um DAG específico falhar, tente resolver os problemas do DAG até que seja executado com êxito no Cloud Composer 3.
Monitorize o seu ambiente do Cloud Composer 3
Depois de transferir todos os DAGs e a configuração para o ambiente do Cloud Composer 3, monitorize-o para detetar potenciais problemas, execuções de DAGs com falhas e o estado geral do ambiente.
Se o ambiente do Cloud Composer 3 for executado sem problemas durante um período suficiente, pondere eliminar o ambiente do Cloud Composer 2.