Migre ambientes para o Cloud Composer 3

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Nesta página, explicamos como transferir DAGs, dados e configurações do seu ambiente atual do Cloud Composer 2 para o Cloud Composer 3.

Antes de começar

  • Este guia de migração usa snapshots. Snapshots são compatíveis no Cloud Composer 2 versão 2.0.9 e posterior.

  • O Cloud Composer dá suporte à migração lado a lado Cloud Composer 2 para Cloud Composer 3. Não é possível faça o upgrade do Cloud Composer 2 para o Cloud Composer 3 no local.

  • Consulte o lista de diferenças entre o Cloud Composer 2 e o Cloud Composer 3. Verifique se o ambiente não usa recursos indisponíveis no Acesso antecipado do Cloud Composer 3.

  • O tamanho máximo do banco de dados do Airflow que aceita snapshots é de 20 GB. Se o banco de dados do ambiente ocupa mais de 20 GB, reduzir o tamanho do banco de dados do Airflow.

Verifique se os DAGs são compatíveis com o Cloud Composer 3

Verifique se os DAGs são compatíveis com o Cloud Composer 3 seguindo estas instruções: estas sugestões:

  • A lista de pacotes no ambiente do Cloud Composer 3 pode ser diferente do que está no ambiente do Cloud Composer 2. Isso pode afetar a compatibilidade dos DAGs com o Cloud Composer 3.

  • O Cloud Composer carrega modificações de configuração, variáveis e pacotes PyPI do snapshot do ambiente do Cloud Composer 2 para Cloud Composer 3 sem mudá-los ou ajustá-los para compatibilidade. Se os pacotes PyPI personalizados causarem conflitos de dependência, será possível pular a instalação quando você carregar o snapshot.

  • No Cloud Composer 3, o cluster do ambiente está localizado no projeto de locatário. Verifique se os DAGs estão compatíveis com essa mudança. Especificamente, As cargas de trabalho do KubernetesPodOperator agora são escalonadas de forma independente ambiente e não é possível usar configurações de afinidade de pods.

  • No Cloud Composer 3, não é possível acessar o banco de dados do Airflow diretamente. Marca que os DAGs sejam compatíveis com essa alteração.

Pausar DAGs no ambiente do Cloud Composer 2

Para evitar execuções de DAG duplicadas, pause todos os DAGs no Cloud Composer 2 antes de salvar o snapshot. Pular o DAG de monitoramento de atividade (airflow_monitoring), ela é usada para fins de monitoramento e não está incluída em snapshots do ambiente.

É possível usar qualquer uma das seguintes opções para pausar os DAGs:

  • Pause os DAGs um por um no console do Google Cloud:

    1. No console do Google Cloud, acesse a página Ambientes.

      Acessar "Ambientes"

    2. Selecione um ambiente para ver os detalhes.

    3. Na página Detalhes do ambiente, acesse a guia DAGs.

    4. Clique no nome de um DAG.

    5. Na página Detalhes do DAG, clique em Pausar DAG.

  • Na interface da Web do Airflow, acesse DAGs e pausar 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
    

    Substitua:

    • COMPOSER_2_ENV pelo nome do ambiente do Cloud Composer 2.
    • PROJECT_ID pelo ID do projeto;
    • COMPOSER_2_LOCATION pela região em que o ambiente está localizado;

Salve um snapshot do ambiente do Cloud Composer 2

Console

Crie um snapshot do ambiente:

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome ambiente do Cloud Composer 2. A página Detalhes do ambiente é aberta.

  3. Clique em Criar snapshot.

  4. Na caixa de diálogo Criar snapshot, clique em Enviar. Em deste guia, você vai salvar o snapshot no ambiente do Cloud Composer 2 bucket, mas é possível selecionar um local diferente, se você quiser. Se você especificar um local personalizado, as contas de serviço dos dois ambientes precisa ter permissões de leitura e gravação para o local especificado.

  5. Aguarde até que o Cloud Composer crie o snapshot.

  6. Após a criação do snapshot, a mensagem exibida mostra o local do snapshot. Salve estas informações para usar mais tarde ao carregar isto no ambiente do Cloud Composer 3.

    Por exemplo, o local do snapshot pode ser semelhante a este: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12:

gcloud

  1. Crie um snapshot do ambiente do Cloud Composer 2:

    gcloud composer environments snapshots save \
      COMPOSER_2_ENV \
      --location COMPOSER_2_LOCATION
    

    Substitua:

    • COMPOSER_2_ENV pelo nome do ambiente do Cloud Composer 2.
    • COMPOSER_2_LOCATION é a região em que o ambiente do Cloud Composer está localizado.
    • (opcional) É possível usar o argumento --snapshot-location para especificar um um local personalizado onde o snapshot do ambiente precisa ser armazenado.

      Neste guia, você vai salvar o snapshot na bucket do ambiente do Cloud Composer 2, mas é possível selecionar uma em um local diferente, se quiser. Se você especificar um local personalizado, as contas de serviço dos dois ambientes precisa ter permissões de leitura e gravação para o local especificado.

  2. Após a criação do snapshot, a mensagem exibida mostra o local do snapshot. Salve estas informações para usar mais tarde ao carregar isto no ambiente do Cloud Composer 3.

    Por exemplo, o local do snapshot pode ser semelhante a este: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12:

Criar um ambiente do Cloud Composer 3

Crie um ambiente do Cloud Composer 3 usando o seguinte diretrizes:

  • Comece com a mesma configuração de limites de recursos da sua O ambiente do Cloud Composer 2 e posterior escalona e otimiza a configuração mais adiante.

  • Nos ambientes do Cloud Composer 3, O processador de DAG do Airflow é executado como um componente do ambiente de execução. Como o processador de DAG descarrega a análise de DAGs do programador, redistribua os recursos antes alocada para programadores do Airflow. Você pode fazer isso depois de migrar para Cloud Composer 3. Além disso, monitore o programador e o desempenho do processador de DAG.

  • O Cloud Composer 3 oferece uma rede mais simplificada em comparação com o Cloud Composer 2. É possível alternar entre Configuração de rede IP público e particular e anexação e remoção da VPC redes VPC. Não é preciso especificar intervalos de IP . Verifique se a rede do ambiente do Cloud Composer 3 corresponde à configuração correspondente do Cloud Composer 2.

  • Não é preciso especificar substituições de configuração e variáveis de ambiente porque você os substitui mais tarde ao carregar o snapshot de seu ambiente do Cloud Composer 2.

Carregar o snapshot no ambiente do Cloud Composer 3

Console

Para carregar o snapshot no ambiente do Cloud Composer 3:

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome ambiente do Cloud Composer 3. A página Detalhes do ambiente é aberta.

  3. Clique em Carregar snapshot.

  4. Na caixa de diálogo Carregar snapshot, clique em Procurar.

  5. Selecione a pasta com o snapshot.

    Se você usar o local padrão deste guia, a pasta vai estar em seu bucket do ambiente do Cloud Composer 2 na pasta /snapshots. o nome é o carimbo de data/hora da operação de salvamento do snapshot. O mesmo local foi exibido na mensagem sobre a criação bem-sucedida de o snapshot.

    Por exemplo: us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

  6. Clique em Carregar e aguarde até que o Cloud Composer carregue o snapshot.

gcloud

Carregue o snapshot do seu ambiente do Cloud Composer 2 no Ambiente do Cloud Composer 3:

gcloud composer environments snapshots load \
  COMPOSER_3_ENV \
  --location COMPOSER_3_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Substitua:

  • COMPOSER_3_ENV pelo nome do ambiente do Cloud Composer 3.
  • COMPOSER_3_LOCATION pela região em que o Cloud Composer 3 está localizado.
  • SNAPSHOT_PATH pelo URI do Cloud Composer 2. do bucket do ambiente, seguido pelo caminho para o snapshot. O mesmo local foi exibido na mensagem sobre a criação bem-sucedida de o snapshot. 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

Você pode usar qualquer uma das seguintes opções:

  • Retome os DAGs um por um no console do Google Cloud:

    1. No console do Google Cloud, acesse a página Ambientes.

      Acessar "Ambientes"

    2. Selecione um ambiente para ver os detalhes.

    3. Na página Detalhes do ambiente, acesse a guia DAGs.

    4. Clique no nome de um DAG.

    5. Na página Detalhes do DAG, clique em Retomar DAG.

  • Na interface da Web do Airflow, acesse DAGs e retome todos eles manualmente, um por um.

  • Use o script composer_dags para retomar todos os DAGs:

      python3 composer_dags.py --environment COMPOSER_3_ENV \
      --project PROJECT_ID \
      --location COMPOSER_3_LOCATION \
      --operation unpause
    

    Substitua:

    • COMPOSER_3_ENV pelo nome do ambiente do Cloud Composer 3.
    • PROJECT_ID pelo ID do projeto;
    • COMPOSER_3_LOCATION pela região em que o ambiente está localizado;

Verificar se há erros do DAG

  1. Na interface da Web do Airflow, acesse DAGs e verifique se há erros de sintaxe de DAG relatados.

  2. Verifique se as execuções do DAG estão programadas no momento certo.

  3. Aguarde as execuções do DAG acontecerem no ambiente do Cloud Composer 3 e verificar se eles deram certo. Se uma execução do DAG tiver sido bem-sucedida, não retome-o no ambiente do Cloud Composer 2. se fizer isso, um DAG seja executada no mesmo horário e data no Cloud Composer 2 de nuvem.

  4. Se a execução de um DAG específico falhar, tente resolver problemas do DAG até que ele é executado no Cloud Composer 3.

Monitore o ambiente do Cloud Composer 3

Depois de transferir todos os DAGs e a configuração para o Cloud Composer 3 ambiente de execução, monitorá-lo em busca de possíveis problemas, execuções de DAG com falha e e integridade do ambiente.

Se o ambiente do Cloud Composer 3 for executado sem problemas por um período suficiente, exclua o Cloud Composer 2 de nuvem.

A seguir