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.
- Todos os alias de versão se tornam
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 acomposer-2-airflow-x.y
.composer-latest-airflow-x.y.z
é igual acomposer-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 formatocomposer-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ãocomposer-3-airflow-x.y.z
.O formato
x.y
é para o build mais recente do Airflow disponível nas versões principal e secundáriax.y
. Esse formato é igual ao alias da versãocomposer-3-airflow-x.y
.x.y.z-build.t
é a versão e o build especificados do Airflow. Esse formato é igual acomposer-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.
- O formato
--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ãocomposer-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áriasx.y
. Esse formato é igual ao alias da versãocomposer-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.
- O formato
--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ãocomposer-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áriasx.y
. Esse formato é igual ao alias da versãocomposer-1-airflow-x.y
.