Como fazer upgrade de ambientes

Nesta página, você aprende a fazer upgrade das versões do Airflow ou do Cloud Composer executadas pelo seu ambiente.

Durante o upgrade, o Cloud Composer:

  • reimplementa os pods de worker e de trabalhador do Airflow em um novo namespace do Kubernetes. Após a conclusão do upgrade, o Airflow usa um novo banco de dados MySQL. O nome dele corresponde ao namespace do Kubernetes. O histórico de execuções do DAG é preservado.

  • atualiza a conexão airflow_db do Airflow para apontar para o novo banco de dados do Cloud SQL.

Essas alterações afetam a maneira como você acessa os pods e se conecta ao banco de dados do Cloud SQL.

  • Para acessar pods no cluster do GKE após o upgrade, você precisa usar comandos kubectl que levem namespaces em consideração. Por exemplo, para listar pods no cluster, use kubectl get pods -A. Para executar um comando em um pod, use kubectl exec -n <NAMESPACE> ....
  • Se você usa cargas de trabalho e conexões do Airflow que mencionam diretamente o proxy SQL, utilize o namespace padrão como parte do nome do host: airflow-sqlproxy-service.default, e não airflow-sqlproxy-service.

O upgrade do Cloud Composer não altera a maneira como você se conecta aos recursos do ambiente, incluindo os endereços IP da VM do nó do Google Kubernetes Engine e da instância do Cloud SQL, os intervalos do Cloud Storage ou o nome de domínio do servidor da Web do Airflow.

Antes de começar

  • Estes papéis são necessários para fazer upgrade: roles/editor ou roles/composer.admin.
  • Pause todos os DAGs e aguarde o término das tarefas em andamento antes de fazer upgrade.
  • É possível fazer upgrade do Cloud Composer, da versão do Airflow ou de ambos ao mesmo tempo.
  • É necessário fazer upgrade para uma versão disponível do conjunto Cloud Composer/Airflow.
    • Para ver os upgrades disponíveis, vá até esta seção. Para garantir os recursos e as correções mais recentes, faça upgrade para a última versão do Cloud Composer.
    • Para acessar a lista de personalizações e de pacotes PyPI em uma versão compatível, consulte a lista de versões do Cloud Composer.

      Antes de fazer upgrade, você precisa entender as diferenças entre as versões atuais do Airflow e do Cloud Composer e as versões finais do upgrade. As alterações incompatíveis podem interromper os DAGs.

Limitações

  • Não é possível fazer downgrade para uma versão anterior do Cloud Composer ou do Airflow.
  • Só é possível fazer upgrade para a versão mais recente do Cloud Composer na mesma versão principal. Por exemplo, de composer-1.4.0-airflow-1.10.0 para composer-1.5.0-airflow-1.10.0.
  • Você precisa fazer upgrade para uma versão de imagem que seja compatível com a versão atual do Python do seu ambiente.
  • No momento, não é possível fazer upgrade da versão de imagem em um ambiente de IP privado do Cloud Composer ou em um que esteja em um projeto com o VPC Service Controls ativado.

Como ver os upgrades disponíveis

Para ver para quais versões do Cloud Composer é possível fazer upgrade, siga estas etapas:

Console

  1. Abra a página Ambientes no Google Cloud Platform.

    Abrir a página "Ambientes"

  2. Clique no Nome do ambiente.

  3. Na guia Configuração do ambiente, clique em Editar.

  4. Para ver as versões disponíveis, clique no menu suspenso Versão de imagem do Cloud Composer.

gcloud

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

em que:

  • ENVIRONMENT_NAME é o nome do ambiente;
  • LOCATION é a região do Compute Engine em que o ambiente está localizado.

Por exemplo:

gcloud beta composer environments list-upgrades test-environment \
    --location us-central1
┌─────────────────────────────────────────────────────────────────────────────┐
│                              AVAILABLE UPGRADES                             │
├──────────────────────────────┬──────────────────┬───────────────────────────┤
│        IMAGE VERSION         │ COMPOSER DEFAULT │ SUPPORTED PYTHON VERSIONS │
├──────────────────────────────┼──────────────────┼───────────────────────────┤
│ composer-1.4.0-airflow-1.9.0 │ True             │ 2,3                       │
└──────────────────────────────┴──────────────────┴───────────────────────────┘

API

Para ver as versões disponíveis usando a API REST do Cloud Composer, crie uma solicitação de API imageVersions.list. Forneça o projeto e a localização no formato projects/{projectId}/locations/{locationId}.

Por exemplo:

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

{
  "imageVersions": [
    {
      "imageVersionId": "composer-1.4.2-airflow-1.10.0",
      "supportedPythonVersions": [
        "2",
        "3"
      ]
    },
    {
      "imageVersionId": "composer-1.4.2-airflow-1.9.0",
      "isDefault": true,
      "supportedPythonVersions": [
        "2",
        "3"
      ]
    }
  ]
} 

Como fazer upgrade da versão do Cloud Composer

Para fazer upgrade da versão do Cloud Composer executada pelo seu ambiente, siga estas etapas:

Console

  1. Abra a página Ambientes no Google Cloud Platform.

    Abrir a página "Ambientes"

  2. Clique no Nome do ambiente para fazer a modificação.

  3. Selecione a guia da propriedade que você quer atualizar.

  4. Clique em Editar.

  5. Clique no menu suspenso Versão de imagem do Cloud Composer e selecione uma versão.

  6. Clique em Enviar.

gcloud

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

em que:

  • ENVIRONMENT_NAME é o nome do ambiente;
  • LOCATION é a região do Compute Engine em que o ambiente está localizado;
  • VERSION é a versão do Cloud Composer e do Airflow que será usada no ambiente no formato composer-a.b.c-airflow-x.y.z ou composer-a.b.c-airflow-x.y. Será usada a versão de patch mais atual disponível para as versões principal e secundária determinadas caso você não especifique o patch do Airflow.

Por exemplo:

gcloud beta composer environments update test-environment \
    --location us-central1 --image-version composer-latest-airflow-1.10.1 

API

Para fazer upgrade usando a API REST do Cloud Composer, crie uma solicitação de API environments.patch. Forneça a versão no formato composer-a.b.c-airflow-x.y.z.

Por exemplo:

PATCH https://composer.googleapis.com/v1beta1/projects/test-project/locations/us-central1/environments/test-environment?updateMask=config.software_config.image_version

O corpo da solicitação inclui imageVersion:

{
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-1.6.0-airflow-1.10.1"
    }
  }
}

Como fazer upgrade da versão do Airflow

Quando o ambiente executa a versão mais recente do Cloud Composer, é possível usar o SDK do Cloud para fazer upgrade somente da versão do Airflow. Por exemplo, de composer-1.6.1-airflow-1.9.0 para composer-1.6.1-airflow-1.10.0.

gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION --airflow-version VERSION

em que:

  • ENVIRONMENT_NAME é o nome do ambiente;
  • LOCATION é a região do Compute Engine em que o ambiente está localizado;
  • VERSION é a versão do Airflow que será usada no ambiente no formato x.y.z ou x.y.

Por exemplo:

gcloud beta composer environments update test-environment \
--location us-central1 --airflow-version=1.10.1
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…