Atualize ambientes

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página descreve como atualizar o seu ambiente para uma nova versão do Cloud Composer ou do Airflow.

Acerca das operações de atualização

Pode atualizar a versão do Cloud Composer, a versão do Airflow ou ambas em simultâneo.

Quando altera a versão do Airflow ou do Cloud Composer usada pelo seu ambiente:

  • O Cloud Composer volta a implementar os componentes do ambiente com novas versões das imagens do Cloud Composer.

  • O Cloud Composer aplica alterações de configuração do Airflow, como pacotes PyPI personalizados ou substituições de opções de configuração do Airflow, se o seu ambiente os tiver antes da atualização.

  • O Cloud Composer atualiza a ligação do Airflow airflow_db para apontar para a nova base de dados do Cloud SQL.

A atualização não altera a forma como se liga aos recursos no seu ambiente, como o URL do contentor do seu ambiente ou o servidor Web do Airflow.

Limitações das operações de atualização

As operações de atualização têm as seguintes limitações:

  • As versões do Cloud Composer são implementadas gradualmente em todas as regiões suportadas pelo Cloud Composer ao longo de vários dias. A versão mais recente de um lançamento em curso pode ainda não estar disponível na sua região.

  • Não pode reverter para uma versão anterior do Cloud Composer ou do Airflow.

  • Na Google Cloud consola, só pode atualizar para as versões suportadas mais recentes do Cloud Composer 2.

  • Na CLI gcloud, na API ou no Terraform, pode atualizar um ambiente para as versões suportadas mais recentes, três versões anteriores do Cloud Composer 2, a última versão de patch da versão secundária anterior e para versões com uma cronologia de atualização alargada. Não é possível atualizar para outras versões do Cloud Composer 2, mesmo que ainda sejam suportadas e possam ser usadas para criar um novo ambiente.

    Exemplo de opções de atualização para a CLI Google Cloud, a API e o Terraform:

    • Versões mais recentes: composer-2.11.5-airflow-*
    • Três versões anteriores do Cloud Composer 2: composer-2.11.4-airflow-*, composer-2.11.3-airflow-*, composer-2.11.2-airflow-*.
    • Última correção da versão secundária 2 anterior do Cloud Composer: composer-2.10.2-airflow-*
    • Versões do Cloud Composer 2 com um prazo de atualização alargado: composer-2.10.2-airflow-*, composer-2.10.1-ariflow-*, composer-2.9.7-airflow-* e outras versões com um prazo de atualização alargado.
  • A versão para a qual fizer a atualização tem de suportar a versão atual do Python do seu ambiente.

  • Os limites da quota da API Compute Engine podem impedir as atualizações. Na Google Cloud consola, navegue para IAM e administração > página Quotas e limites do sistema e verifique se a quota da API Compute Engine para CPU não foi excedida. Se estiver a aproximar-se do limite da quota, peça uma extensão da quota antes de prosseguir com a operação de atualização.

  • Não pode atualizar o seu ambiente se a base de dados do Airflow contiver mais de 16 GB de dados. Durante uma atualização, é apresentado um aviso se o tamanho da base de dados do Airflow for superior a 16 GB. Neste caso, faça a manutenção da base de dados para reduzir o tamanho da base de dados.

  • 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.

Antes de começar

  • Recomendamos que crie uma nova captura de ecrã do ambiente para poder recriá-lo, caso seja necessário.

  • A sua conta tem de ter uma função que possa acionar operações de atualização do ambiente. Além disso, a conta de serviço do ambiente tem de ter uma função com autorizações suficientes para realizar operações de atualização. Para mais informações, consulte o artigo Controlo de acesso.

  • Pode reparar em entradas de metadados do Compute Engine para os clusters do GKE que pertencem a ambientes no seu projeto. Durante a criação e as atualizações do cluster do GKE, o Google Kubernetes Engine adiciona automaticamente entradas de metadados ao nível do projeto (google_compute_project_metadata) para acompanhar a utilização do intervalo de endereços IP secundários. Não modifique nem remova estas entradas. O Google Kubernetes Engine gere-os automaticamente.

Verifique se o seu ambiente está atualizado

O Cloud Composer apresenta avisos quando a imagem do seu ambiente se aproxima da data de fim do apoio técnico completo. Pode usar estes avisos para manter sempre o seu ambiente suportado.

É apresentada uma mensagem de descontinuação na página Detalhes do ambiente
Figura 1. É apresentada uma mensagem de descontinuação na página de detalhes do ambiente

O Cloud Composer monitoriza a versão da imagem do Cloud Composer na qual o seu ambiente se baseia. Quando se aproxima da data de fim do apoio técnico, pode ver um aviso na lista de ambientes e na página Detalhes do ambiente.

Para verificar se o seu ambiente está atualizado:

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. No campo Versão da imagem, é apresentada uma das seguintes mensagens:

    • Versão mais recente disponível. A imagem do ambiente é totalmente suportada.

    • Nova versão disponível. A imagem do ambiente é totalmente suportada e pode atualizá-la para uma versão posterior.

    • O suporte desta versão da imagem termina em… A imagem do ambiente aproxima-se do fim do período de apoio técnico completo.

    • Esta versão não é suportada a partir de... O seu ambiente já ultrapassou o período de apoio técnico completo.

gcloud

Esta funcionalidade não está disponível através da CLI do Google Cloud. Em alternativa, pode ver as atualizações sugeridas, que mostram as novas versões disponíveis.

API

Esta funcionalidade não está disponível através da API. Em alternativa, pode ver as atualizações sugeridas, que mostram as novas versões disponíveis.

Veja as atualizações sugeridas

O Cloud Composer fornece uma lista de versões do Cloud Composer para as quais pode atualizar o seu ambiente.

Para ver as versões do Cloud Composer sugeridas para uma atualização:

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente e clique em Atualizar versão da imagem.

  4. Para a lista de versões sugeridas, clique no menu pendente Versão da imagem do Cloud Composer.

gcloud

gcloud composer environments list-upgrades \
  ENVIRONMENT_NAME \
  --location LOCATION

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.

Exemplo:

gcloud composer environments list-upgrades example-environment \
  --location us-central1

API

Pode ver as versões disponíveis para uma localização. Para o fazer, crie um pedido da API imageVersions.list.

Por exemplo:

// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions

Verifique se existem conflitos de pacotes do PyPI antes de atualizar

Pode verificar se os pacotes PyPI instalados no seu ambiente têm conflitos com os pacotes pré-instalados na nova imagem do Cloud Composer.

Uma verificação bem-sucedida significa que não existem conflitos nas dependências do pacote PyPI entre a versão atual e a versão especificada. No entanto, uma operação de atualização pode não ser bem-sucedida por outros motivos.

Consola

Para executar uma verificação de atualização para o seu ambiente:

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente, localize a entrada Versão da imagem e clique em Atualizar.

  4. Na caixa de diálogo Atualização da versão do ambiente, na lista pendente Nova versão, selecione uma versão do Cloud Composer para a qual quer fazer a atualização.

  5. Na secção Compatibilidade de pacotes PyPI, clique em Verificar conflitos.

  6. Aguarde até que a verificação esteja concluída. Se existirem conflitos de dependências de pacotes PyPI, as mensagens de erro apresentadas contêm detalhes sobre os pacotes e as versões dos pacotes em conflito.

gcloud

Para executar uma verificação de atualização para o seu ambiente, execute o comando environments check-upgrade com a versão da imagem do Cloud Composer para a qual quer atualizar.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version VERSION

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.
  • VERSION com a nova versão da imagem do Cloud Composer para a qual quer atualizar, no formato composer-a.b.c-airflow-x.y.z. Também pode usar todos os alias de versão.

Exemplo:

gcloud composer environments check-upgrade example-environment \
  --location us-central1 \
  --image-version composer-2.13.9-airflow-2.10.5

Exemplo de resultado:

Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-2.13.9-airflow-2.10.5. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...

Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: https://console.cloud.google.com/cloud-build/builds/79738aa7-...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at https://console.cloud.google.com/
cloud-build/builds/79738aa7-...
Error details: tensorboard 2.2.2 has requirement
setuptools>=41.0.0, but you have setuptools 40.3.0.

Em alternativa, pode executar uma verificação de atualização de forma assíncrona. Use o argumento --async para fazer uma chamada assíncrona e, em seguida, verifique o resultado com o comando gcloud composer operations describe.

API

Construa um pedido da API environments.checkUpgrade.

Especifique a versão da imagem no campo imageVersion:

{
  "imageVersion": "VERSION"
}

Substitua VERSION pela nova versão para a qual quer fazer a atualização no formato composer-a.b.c-airflow-x.y.z.

Atualize o seu ambiente

Para atualizar o seu ambiente para uma versão posterior do Cloud Composer ou Airflow:

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. Localize o item Versão de imagem e clique em Atualizar.

  5. No menu pendente Versão da imagem, selecione uma versão do Cloud Composer para a qual quer fazer a atualização.

  6. Clique em Atualizar.

gcloud

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version VERSION

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.
  • VERSION com a nova versão da imagem do Cloud Composer para a qual quer atualizar, no formato composer-a.b.c-airflow-x.y.z. Também pode usar todos os alias de versão.

Por exemplo:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --image-version composer-2.13.9-airflow-2.10.5

API

  1. Construa um pedido de API environments.patch.

  2. Neste pedido:

    1. No parâmetro updateMask, especifique a máscara config.softwareConfig.imageVersion.

    2. No corpo do pedido, no campo imageVersion, especifique uma nova versão para a qual quer fazer a atualização.

Por exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.imageVersion

  {
    "config": {
      "softwareConfig": {
        "imageVersion": "composer-2.13.9-airflow-2.10.5"
      }
    }
  }

Terraform

O campo image_version no bloco config.software_config controla a imagem do Cloud Composer do seu ambiente. Neste campo, especifique uma nova imagem do Cloud Composer.

  resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "VERSION"
    }
  }
}

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado. A nova versão da imagem do Cloud Composer para a qual quer fazer a atualização, no formato composer-a.b.c-airflow-x.y.z. Também pode usar todos os alias de versão.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      image_version = "composer-2.13.9-airflow-2.10.5"
    }
  }
}

O que se segue?