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, Airflow 3 (prévia)
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 Sim Compatível Sim
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 Sim 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. Sim Compatível. Os plug-ins podem ser ativados e desativados sob demanda.
Plug-ins do programador Sem suporte Compatível Sem suporte
Listeners Sem suporte Sim Apenas listeners no nível da tarefa
TimeTables Somente integrado Personalizado e integrado Somente integrado
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 Sim Sim
Carregando snapshots Sem suporte Compatível Sim
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

Comparação de versões do Airflow

O Cloud Composer 3 oferece ambientes com o Airflow 2 e o Airflow 3. Enquanto o Airflow 3 estiver em prévia, alguns recursos do Airflow e do Cloud Composer talvez não estejam disponíveis.

Suporte para recursos do Cloud Composer 3

A tabela a seguir resume os recursos do Cloud Composer 3 que ainda não são compatíveis no pré-lançamento do Airflow 3. Todos os outros recursos do Cloud Composer 3 que não estão listados são compatíveis com o pré-lançamento do Airflow 3 e funcionam de maneira semelhante aos ambientes com o Airflow 2.

Recurso Status Descrição
Snapshots de ambiente Não disponível no pré-lançamento do Airflow 3 Salvar ou carregar snapshots de ambientes do Airflow 3.
Upgrades para o Airflow 3 (snapshots) Não disponível no pré-lançamento do Airflow 3 Migração lado a lado de ambientes do Cloud Composer 3 do Airflow 2 para o Airflow 3 usando snapshots.
Upgrades para o Airflow 3 (no local) Não disponível no pré-lançamento do Airflow 3 Upgrades no local de ambientes atuais do Cloud Composer 3 do Airflow 2 para o Airflow 3 especificando uma versão com o Airflow 3 durante um upgrade.
Retenção de banco de dados Não disponível no pré-lançamento do Airflow 3 Configurar uma política de retenção de banco de dados para ambientes com o Airflow 3.
Suporte à federação de identidade de colaboradores Não disponível no pré-lançamento do Airflow 3 Usar um provedor de identidade externo em ambientes com o Airflow 3.
Registro de funções por pasta Não disponível no pré-lançamento do Airflow 3 Configurar automaticamente permissões no nível do DAG usando esse recurso no Airflow 3.
Ferramenta de CLI de desenvolvimento local do Composer Não disponível no pré-lançamento do Airflow 3 Crie, configure e execute um ambiente local do Airflow 3 usando a ferramenta CLI de desenvolvimento local do Composer.

Problemas conhecidos na prévia do Airflow 3

Os seguintes problemas conhecidos foram identificados na prévia do Airflow 3:

  • Mensagens de aviso nos registros de cargas de trabalho do Airflow. Essas mensagens podem ser ignoradas com segurança.
  • O utilitário airflowctl não pode ser usado facilmente em ambientes sem interface gráfica, como trabalhadores do Airflow no Cloud Composer ou contêineres do Docker. Essa é uma limitação do utilitário. Para mais informações sobre essa limitação, consulte o problema 58230 no repositório do Airflow no GitHub.

Suporte para recursos do Airflow 3

A tabela a seguir lista os recursos do Airflow 3 e o suporte deles no pré-lançamento do Airflow 3:

Recurso Status
IU do Airflow 3.0 Sim
Controle de versões de DAGs Sim
Backfills (na interface do Airflow) Sim
Programação orientada a eventos Sim
Recursos Sim
Execução de inferência e ajuste de hiperparâmetros Sim
Ferramenta de linha de comando airflowctl Sim
Pacotes de DAG (além de LocalDagBundle) Não disponível no pré-lançamento do Airflow 3
Executor de borda e tarefas em outras linguagens de programação Não disponível no pré-lançamento do Airflow 3

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 do Cloud Composer.

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.

Esquemas de versões

Esta seção descreve os esquemas de versão do Airflow e do Cloud Composer e os aliases de versão.

Esquema da versão 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 nos componentes de infraestrutura. Cada versão e build tem suporte 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 do x.y

Aliases 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 do 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 a versão mais recente do Airflow disponível nas versões principal e secundária 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