Visão geral do controle de versões do Cloud Composer

Nesta página, descrevemos o controle de versões do Cloud Composer e listamos as diferenças entre as principais versões dele.

Versões principais do Cloud Composer

O Cloud Composer tem as seguintes versões principais:

  • Cloud Composer 1. Tem escalonamento manual do ambiente, e a infraestrutura é implantada nos seus projetos e redes.
  • Cloud Composer 2. Nesta versão, o cluster do ambiente é escalonado automaticamente para atender às demandas de recursos.
  • Cloud Composer 3. Essa versão simplificou a configuração de rede e oculta componentes de infraestrutura, incluindo o cluster e as dependências do ambiente em outros serviços.

Comparação das versões do Cloud Composer

A tabela a seguir lista as principais diferenças entre o Cloud Composer 1, o Cloud Composer 2 e o Cloud Composer 3.

Recurso Cloud Composer 1 Cloud Composer 2 Cloud Composer 3
Versão de imagem composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Versões do Airflow Airflow 1.10.* e Airflow 2 Airflow 2 Airflow 2
Versões do Python 3.8.12 3.11.8 (3.11.5 e 3.8.12 em versões anteriores) 3.11.8
Cluster do ambiente Cluster do Google Kubernetes Engine baseado em rotas ou nativo de VPC do modo padrão Cluster do Google Kubernetes Engine nativo de VPC do modo Autopilot O cluster do ambiente não é implantado no seu projeto.
Escalonamento horizontal Pode ajustar o número de nós no cluster do ambiente. Isso muda o número de workers do Airflow.
Pode ajustar o número de programadores do Airflow.
Escalonamento automático do número de workers no Airflow, conforme a demanda. Pode definir e alterar os limites superior e inferior para o número de workers.
Pode ajustar o número de programadores e acionadores do Airflow
Escalonamento automático do número de workers no Airflow, conforme a demanda. Pode definir e alterar os limites superior e inferior para o número de workers.
Pode ajustar o número de programadores, acionadores e processadores de DAG do Airflow
Escalonamento vertical Pode definir tipos de máquina para nós de cluster, servidor da Web do Airflow e banco de dados ao criar um ambiente. Pode mudar os tipos de máquina para o servidor da Web e o banco de dados do Airflow. Pode definir e alterar a configuração das cargas de trabalho: parâmetros de CPU, memória e armazenamento para workers, programadores, servidor da Web e tamanho do ambiente do Airflow. Pode definir e alterar a configuração das cargas de trabalho: parâmetros de CPU, memória e armazenamento para workers, programadores, servidor da Web, processadores de DAGs e tamanho do ambiente do Airflow.
Modelo de preços Modelo de preços do Cloud Composer 1 Modelo de preços do Cloud Composer 2 Modelo de preços do Cloud Composer 3
Controle de acesso Funções do Cloud Composer 1 Papéis do Cloud Composer. Usa a federação de identidade da carga de trabalho para GKE e exige outras permissões para a conta do agente de serviço do Cloud Composer. Papéis do Cloud Composer. Usa a federação de identidade da carga de trabalho para o GKE. Não são necessárias permissões extras
Acesso pela federação de identidade de colaboradores Sem suporte Compatível Compatível
Ambientes altamente resilientes Sem suporte Compatível Compatível
Política de retenção de banco de dados Sem suporte Ainda não disponível Compatível
Rede IP privada Peerings de VPC Private Service Connect Configuração de rede simplificada. Pode ser alterado entre IP público e privado em um ambiente atual.
VPC Service Controls Com suporte Compatível Com suporte
Executores do Airflow Celery Executor Celery Executor CeleryKubernetes Executor
Gatilho do Airflow (operadores adiáveis) Sem suporte Compatível Compatível
Conta de serviço personalizada para KubernetesPodOperator Com suporte Compatível incompatível
CMEK Compatível Compatível Compatível
Controles de acesso do servidor da Web Compatível Compatível Compatível
Reiniciando o servidor da Web Compatível Compatível Compatível
Plug-ins do servidor da Web Compatível com ambientes do Airflow 1 com a serialização de DAG desativada. Com suporte Há suporte. Os plug-ins podem ser ativados e desativados sob demanda.
Plug-ins do programador Sem suporte Compatível Sem suporte
Pacotes PyPI personalizados do Scheduler Sem suporte Compatível Sem suporte
Como instalar plug-ins personalizados Compatível Compatível Compatível
Operações de manutenção Todas as tarefas podem ser afetadas. As tarefas que levam menos de 55 minutos para serem executadas não são afetadas. As tarefas que levam menos de 24 horas para serem executadas não são afetadas.
Como armazenar snapshots Compatível com as versões 2.x e 1.10.15 do Airflow Com suporte Com suporte
Carregando snapshots Sem suporte Compatível Com suporte
Snapshots programados Sem suporte Compatível Compatível
Bucket do ambiente personalizado Sem suporte Compatível Compatível
Salvar registros de tarefas do Airflow apenas no Cloud Logging Sem suporte Compatível Compatível
Integração da linhagem de dados Sem suporte Compatível Compatível
Ferramenta CLI de desenvolvimento local do Composer Sem suporte Compatível Compatível

Imagens do Cloud Composer

Para executar o Apache Airflow, o Cloud Composer cria imagens do Docker que combinam pacotes do Airflow com outros binários comuns e bibliotecas Python.

As imagens do Cloud Composer incluem modificações do Airflow específicas do Cloud Composer e inadequadas para a base do código do Airflow de upstream. Cada imagem do Cloud Composer contém pacotes pré-instalados e mudanças do Airflow específicas do Cloud Composer.

O Google lança periodicamente novas imagens do Cloud Composer:

  • No Cloud Composer 3, as imagens incluem novos builds das versões compatíveis do Airflow. É possível selecionar uma versão do Airflow e um build que você quer usar. Seu ambiente recebe melhorias do Cloud Composer automaticamente.

  • No Cloud Composer 2 e no Cloud Composer 1, as imagens incluem melhorias do Cloud Composer e novos builds das versões compatíveis do Airflow. Para aproveitar as melhorias do Cloud Composer, faça upgrade do seu ambiente para uma versão mais recente.

Compatibilidade e suspensão de uso das versões

Composer 3

O Google oferece suporte a um build do Airflow por um período após o lançamento:

  • 0 a 12 meses a partir da data de lançamento: os ambientes do Cloud Composer 3 que executam esse build do Airflow são compatíveis.

  • Mais de 12 meses a partir da data de lançamento: os ambientes do Cloud Composer 3 que executam essas versões não são compatíveis.

    Depois que um build do Airflow não é mais compatível, os ambientes que executam esse build também não são compatíveis e são totalmente gerenciados pelo usuário.

Os ambientes funcionam com builds do Airflow compatíveis e incompatíveis da seguinte maneira:

  • É possível criar ambientes com todas as versões do Airflow compatíveis.

  • Ainda é possível usar um ambiente com um build do Airflow que não é mais compatível. O ambiente ainda funciona, você pode continuar usando e é possível fazer upgrade para um build do Airflow compatível.

  • Em alguns casos, um upgrade para uma versão ou build mais recente do Airflow é a única solução disponível para uma vulnerabilidade de segurança.

Composer 2

O Google oferece suporte às versões do Cloud Composer 2 por um período após o lançamento da versão:

  • 0 a 12 meses a partir da data de lançamento: os ambientes do Cloud Composer 2 que executam essas versões são compatíveis.

  • Mais de 12 meses a partir da data de lançamento: os ambientes do Cloud Composer 2 que executam essas versões não são compatíveis.

É possível usar versões do Cloud Composer após a data em que elas não são mais compatíveis. Por exemplo, se o ambiente for baseado em uma versão do Cloud Composer que tenha passado do período de suporte, o ambiente ainda funcionará e você poderá continuar a usá-lo. Nesse caso, recomendamos fazer upgrade do ambiente para uma versão compatível.

Composer 1

Novas versões do Cloud Composer 1 foram lançadas até o fim de março de 2023. Todas as versões lançadas do Cloud Composer 1 seguem a mesma política de suspensão de uso de versão do Cloud Composer 2 e são compatíveis de acordo com ela.

Suporte das versões do Airflow

O Airflow segue o esquema semântico do controle de versões de software. Cada versão do Airflow tem uma versão principal, secundária e de patch.

Composer 3

No Cloud Composer 3, novas versões e builds do Airflow ficam disponíveis com o tempo.

Seu ambiente pode funcionar com todas as versões e builds anteriores do Airflow e recebe atualizações automáticas dos componentes de infraestrutura. Cada versão e build é compatível conforme descrito em Descontinuação e suporte de versões, e você pode fazer upgrade da versão do Airflow para uma versão ou build mais recente.

Composer 2

Para ver uma lista das versões do Airflow compatíveis com cada versão do Cloud Composer, consulte a lista de versões do Cloud Composer.

  • Em cada versão, o Cloud Composer 2 é compatível com duas versões secundárias do Airflow 2.

    Por exemplo, o Cloud Composer 2.4.0 é compatível com o Airflow 2.4.* e o Airflow 2.5.*.

  • Para cada versão secundária do Airflow 2, o Cloud Composer é compatível com uma versão de patch.

    Por exemplo, para o Airflow 2.4.*, O Cloud Composer é compatível com o Airflow 2.4.3.

  • Quando uma nova versão de patch do Airflow 2 é disponibilizada no Cloud Composer, a versão correspondente tem duas versões de patch do Airflow 2 disponíveis para a mesma versão secundária do Airflow. A versão anterior do patch é removida em uma das próximas versões.

    Por exemplo, o Cloud Composer 2.3.4 é compatível com o Airflow 2.5.1 e o Airflow 2.5.3.

  • O Cloud Composer pode ignorar algumas versões de patch do Airflow entre versões do Cloud Composer. Além disso, se houver problemas funcionais, de qualidade ou de desempenho com uma versão de patch específica do Airflow, o Cloud Composer também poderá ignorar essa versão.

    Por exemplo, o Airflow 2.1.3 é ignorado e o Airflow 2.1.4 está disponível.

  • Uma versão do Cloud Composer executando uma versão estável do Airflow pode incluir atualizações do Airflow que são feitas a partir de uma versão posterior do Airflow.

Composer 1

A versão mais recente do Airflow compatível com o Cloud Composer 1 é a 2.4.3.

Somente o Cloud Composer 1 é compatível com o Airflow 1.10.15, a versão mais recente do Airflow 1.

Esquema de versão do Cloud Composer

Composer 3

O esquema de controle de versões do Cloud Composer 3 captura versões e builds do Airflow:

composer-3-airflow-x.y.z-build.t

Em que:

  • composer-3 é a versão principal do Cloud Composer.

  • airflow-x.y.z.build.t é a versão e o build do Airflow. Cada próxima versão da mesma versão do Airflow no Cloud Composer 3 tem um número de build maior. O número do build é definido pelo Cloud Composer, não pelo projeto de código aberto do Airflow.

Composer 2

O esquema de controle de versões de imagem do Cloud Composer 2 captura as versões do Cloud Composer e do Airflow:

composer-2.b.c-airflow-x.y.z

Em que:

  • composer-2.b.c indica a versão secundária e de patch das personalizações gerenciadas pelo Cloud Composer no Cloud Composer 2. Como regra geral, as versões secundárias do Cloud Composer correspondem a mudanças significativas na funcionalidade em comparação com a versão secundária anterior, como quando o conjunto disponível de versões do Airflow é alterado. As versões de patch são atualizadas em versões subsequentes.

  • airflow-x.y.z é a versão do Airflow, que indica as versões principal, secundária e de patch do Airflow usadas em uma imagem específica do Cloud Composer.

Composer 1

O esquema de controle de versões de imagem do Cloud Composer 1 captura as versões do Cloud Composer e do Airflow:

composer-1.b.c-airflow-x.y.z

Em que:

  • composer-1.b.c é a versão das personalizações gerenciadas pelo Cloud Composer;
  • airflow-x.y.z é a versão do Airflow.

Aliases da versão

Os aliases de versão funcionam da seguinte maneira:

  • O Cloud Composer resolve o alias de versão para o formato completo ao criar seu ambiente:

    • Todos os alias de versão se tornam composer-3-airflow-x.y.z-build.t no Cloud Composer 3.
    • Todos os alias de versão se tornam composer-a.b.c-airflow-x.y.z no Cloud Composer 2 e no Cloud Composer 1.
  • No Cloud Composer 3, usar um alias de versão, como composer-3-airflow-x.y não faz upgrade automático da versão e do build do Airflow do seu ambiente. O ambiente permanece na mesma versão e build do Airflow até que você faça upgrade. O ambiente ainda recebe upgrades automáticos de infraestrutura, como de costume.

  • No Cloud Composer 2 e no Cloud Composer 1, o uso de um alias de versão, como composer-a-airflow-x.y.z não fornece upgrades automáticos para um ambiente. O ambiente permanece na mesma versão do Cloud Composer e do Airflow até que você faça upgrade.

Aliases de versão do Cloud Composer 3

O Cloud Composer 3 é compatível com os seguintes aliases de versão:

Alias Versão do Airflow
composer-3-airflow-2 Versão e build mais recentes do Airflow 2
composer-3-airflow-x.y Versão e build mais recentes do Airflow em x.y versões principais e secundárias
composer-3-airflow-x.y.z Build mais recente da versão especificada do Airflow

Pseudônimos de versão do Cloud Composer 2

O Cloud Composer 2 é compatível com os seguintes aliases de versão:

Alias Versão do Cloud Composer Versão do Airflow
composer-2-airflow-2 Versão mais recente do Cloud Composer 2 Versão mais recente do Airflow 2
composer-2-airflow-x.y Versão mais recente do Cloud Composer 2 Versão mais recente do Airflow nas versões principal e secundária x.y
composer-2-airflow-x.y.z Versão mais recente do Cloud Composer 2 Versão especificada do Airflow
composer-2.b.c-airflow-x.y Versão especificada do Cloud Composer 2 Versão mais recente do Airflow disponível nas versões principal e secundária x.y

Pseudônimos de versão do Cloud Composer 1

O Cloud Composer 1 é compatível com os seguintes aliases de versão:

Alias Versão do Cloud Composer Versão do Airflow
composer-1-airflow-2 Versão mais recente do Cloud Composer 1 Versão mais recente do Airflow 2
composer-1-airflow-1 Versão mais recente do Cloud Composer 1 Versão mais recente do Airflow 1
composer-1-airflow-x.y Versão mais recente do Cloud Composer 1 Versão mais recente do Airflow nas versões principal e secundária x.y
composer-1-airflow-x.y.z Versão mais recente do Cloud Composer 1 Versão especificada do Airflow
composer-1.b.c-airflow-x.y Versão especificada do Cloud Composer 1 A versão mais recente do Airflow disponível nas versões principal e secundária x.y.

Os aliases de versão a seguir apontam para o Cloud Composer 2. Você ainda pode usá-los, mas considere mudar para aliases na sua versão do Cloud Composer.

  • composer-latest-airflow-x.y é igual a composer-2-airflow-x.y.
  • composer-latest-airflow-x.y.z é igual a composer-2-airflow-x.y.z.

Argumentos de versão na Google Cloud CLI

Ao criar ou fazer upgrade de um ambiente do Cloud Composer usando a Google Cloud CLI, é possível especificar as versões do Cloud Composer e do Airflow:

Composer 3

  • O argumento --image-version especifica a versão e o build do Airflow no formato composer-3-airflow-x.y.z-build.t. É possível usar aliases de versão, que são resolvidos pela Google Cloud CLI no formato completo.

  • --airflow-version especifica a versão do Airflow nos seguintes formatos:

    • O formato x.y.z é para o build mais recente da versão especificada do Airflow. Esse formato é igual ao alias da versão composer-3-airflow-x.y.z.

    • O formato x.y é para o build mais recente do Airflow disponível nas versões principal e secundária x.y. Esse formato é igual ao alias da versão composer-3-airflow-x.y.

    • x.y.z-build.t é a versão e o build especificados do Airflow. Esse formato é igual a composer-3-airflow-x.y.z-build.t.

Composer 2

  • O argumento --image-version especifica as versões do Cloud Composer 2 e do Airflow:

    • O formato composer-a.b.c-airflow-x.y.z cria um ambiente com as versões especificadas do Cloud Composer e do Airflow.
    • Os aliases de versão primeiro são resolvidos para o formato composer-a.b.c-airflow-x.y.z e depois criam um ambiente com as versões especificadas do Cloud Composer 2 e do Airflow.
  • --airflow-version especifica a versão do Airflow nos seguintes formatos:

    • O formato x.y.z é para a versão mais recente do Cloud Composer 2 e a versão especificada do Airflow. Esse formato é igual ao alias de versão composer-2-airflow-x.y.z.

    • O formato x.y é para a versão mais recente do Cloud Composer 2 e do Airflow disponível nas versões principais e secundárias x.y. Esse formato é igual ao alias da versão composer-2-airflow-x.y.

Composer 1

  • O argumento --image-version especifica as versões do Cloud Composer 1 e do Airflow:

    • O formato composer-a.b.c-airflow-x.y.z cria um ambiente com as versões especificadas do Cloud Composer e do Airflow.
    • Os aliases de versão primeiro são resolvidos para o formato composer-a.b.c-airflow-x.y.z e depois criam um ambiente com as versões especificadas do Cloud Composer 1 e do Airflow.
  • --airflow-version especifica a versão do Airflow nos seguintes formatos:

    • O formato x.y.z é para a versão mais recente do Cloud Composer 1 e a versão especificada do Airflow. Esse formato é igual ao alias de versão composer-1-airflow-x.y.z.

    • O formato x.y é para a versão mais recente do Cloud Composer 1 e a versão mais recente do Airflow disponível nas versões principais e secundárias x.y. Esse formato é igual ao alias da versão composer-1-airflow-x.y.

A seguir