Actualizar entornos

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se describe cómo actualizar tu entorno a un nuevo Cloud Composer o Airflow versión.

Información acerca de las operaciones de actualización

Puedes actualizar la versión de Cloud Composer, la versión de Airflow o ambas al mismo tiempo.

Cuando cambias la versión de Airflow o Cloud Composer que usa tu entorno:

  • Cloud Composer vuelve a implementar los componentes del entorno con versiones nuevas de las imágenes de Cloud Composer.

  • Cloud Composer aplica cambios de configuración de Airflow, como paquetes PyPI personalizados o anulaciones de la opción de configuración de Airflow, si tu los tenían antes de la actualización.

  • Cloud Composer actualiza la conexión airflow_db de Airflow a apuntan a la nueva base de datos de Cloud SQL.

La actualización no cambia la forma en que te conectas a los recursos de tu en un entorno de ejecución, como la URL del bucket de tu entorno servidor.

Limitaciones de las operaciones de actualización

Las operaciones de actualización tienen las siguientes limitaciones:

  • No puedes cambiar a una versión anterior de Cloud Composer o Airflow versión.
  • En la consola de Google Cloud, puedes actualizar solo a la versión más reciente de Cloud Composer.

  • En Google Cloud CLI, API o Terraform, puedes actualizar un entorno a las últimas versiones compatibles, tres versiones anteriores del Cloud Composer y a las versiones con una actualización extendida en el cronograma. No es posible actualizar a otras versiones de Cloud Composer, incluso si todavía son compatibles y se pueden usar. para crear un entorno nuevo.

  • La versión a la que actualices debe ser compatible con versión actual de Python.

  • Los límites de cuota de la API de Compute Engine pueden impedir que se realicen actualizaciones. En la consola de Google Cloud, navega a IAM y administración. > página Cuotas y límites del sistema y verifica si No se supera la cuota de la API de Compute Engine para la CPU. Si el botón se está acercando al umbral de cuota, solicita una extensión de cuota antes proceder con la operación de actualización.

  • No es posible actualizar a una versión principal diferente de Cloud Composer o Airflow in situ. Puedes transferir los datos de forma manual DAG y la configuración entre entornos. Para obtener más información, consulte:

  • No puedes actualizar tu entorno si la base de datos de Airflow contiene más de 16 GB de datos. Durante una actualización, se muestra una advertencia se muestra si el tamaño de la base de datos de Airflow supera los 16 GB. En este caso, realiza el mantenimiento de la base de datos para reducir el tamaño de la base de datos.

Antes de comenzar

  • Recomendamos crear una nueva instantánea del para poder recrearlo en caso de que sea necesario.

  • Tu cuenta debe tener un rol que pueda activar la actualización del entorno las operaciones. Además, la cuenta de servicio del entorno debe tener una que tenga permisos suficientes para realizar operaciones de actualización. Para ver más consulta Control de acceso.

Comprueba que tu entorno esté actualizado

Cloud Composer muestra advertencias cuando la imagen de tu entorno se acerca al final de la fecha de compatibilidad total. Puedes usar estas advertencias para mantener siempre tu entorno compatibles.

Se muestra un mensaje de baja en la página de detalles del entorno
Figura 1. Se muestra un mensaje de baja en el entorno página de detalles

Cloud Composer realiza un seguimiento del Versión de la imagen de Cloud Composer en la que se basa tu entorno. Cuando se acerca al fecha de finalización de la asistencia verás una advertencia en la lista de entornos Detalles del entorno.

Para comprobar si tu entorno está actualizado, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. En el campo Versión de la imagen, se muestra uno de los siguientes mensajes:

    • Versión disponible más reciente: Tu imagen de entorno es totalmente compatible.

    • Nueva versión disponible: La imagen de tu entorno es completamente compatible y puedes actualizarla a una versión posterior.

    • La compatibilidad con esta versión de imagen finaliza en… La imagen del entorno se acerca al final del período de asistencia completa.

    • Esta versión no es compatible desde… Tu entorno pasó el período de asistencia completa.

gcloud

Esta funcionalidad no está disponible a través de Google Cloud CLI. Puedes Consulta las actualizaciones disponibles, que muestran las versiones nuevas que están disponibles.

API

Esta funcionalidad no está disponible mediante la API. Puedes Consulta las actualizaciones disponibles, que muestran las versiones nuevas que están disponibles.

Ver actualizaciones disponibles

Para ver las versiones de Cloud Composer a las que puedes actualizar, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno y haz clic en Actualiza la versión con imágenes.

  4. Para ver la lista de versiones disponibles, haz clic en Cloud Composer Menú desplegable Versión de la imagen.

gcloud

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno

Ejemplo:

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

API

Puedes ver las versiones disponibles para una ubicación. Para hacerlo, construye un Solicitud a la API de imageVersions.list.

Por ejemplo:

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

Verifica si hay conflictos de paquetes de PyPI antes de la actualización

Puedes verificar si los paquetes de PyPI instalados en tu entorno tienen conflictos con paquetes preinstalados en la nueva Imagen de Cloud Composer.

Una verificación correcta significa que no hay conflictos en el paquete de PyPI. dependencias entre la versión actual y la especificada. Sin embargo, un o la actualización de la versión aún no se realiza correctamente por otros motivos.

Console

Para ejecutar una verificación de actualización en tu entorno, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno, busca la entrada Versión con imágenes y haz clic en Actualizar.

  4. En el diálogo Actualización de la versión del entorno, en la lista desplegable Versión nueva, selecciona una versión de Cloud Composer a la que quieres realizar la actualización.

  5. En la sección Compatibilidad de paquetes de PyPI, haz clic en Verificar la presencia de conflictos.

  6. Espera hasta que se complete la verificación. Si hay conflictos de dependencia de paquetes de PyPI, los mensajes de error que se muestran contienen detalles sobre los paquetes y las versiones de paquetes en conflicto.

gcloud

Para ejecutar una verificación de actualización de tu entorno, ejecuta el comando environments check-upgrade con el Versión de imagen de Cloud Composer. a la que quieres realizar la actualización.

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno
  • VERSION con la nueva versión de imagen de Cloud Composer a los que deseas realizar la actualización, en composer-a.b.c-airflow-x.y.z de un conjunto de datos tengan un formato común. También puedes usar alias de la versión.

Ejemplo:

gcloud composer environments check-upgrade example-environment \
  --location us-central1 \
  --image-version composer-1.20.12-airflow-1.10.15

Resultado de ejemplo:

Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-1.20.12-airflow-1.10.15. 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.

Como alternativa, puedes ejecutar una verificación de actualización de forma asíncrona. Usa el argumento --async para realizar una llamada asíncrona y, luego, verifica el resultado con el comando gcloud composer operations describe.

API

Realiza una solicitud a la API de environments.checkUpgrade.

Especifica la versión con imágenes en el campo imageVersion:

{
  "imageVersion": "VERSION"
}

Reemplaza VERSION por la nueva versión a la que deseas actualizar. el formato composer-a.b.c-airflow-x.y.z.

Actualiza tu entorno

Cómo actualizar tu entorno a una versión posterior de Cloud Composer o Airflow:

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. Busca el elemento Versión de la imagen y haz clic en Actualizar.

  5. En el menú desplegable Versión de la imagen, selecciona una versión de Cloud Composer a la que quieres realizar la actualización.

  6. Haz clic en Actualizar.

gcloud

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno
  • VERSION con la nueva versión de imagen de Cloud Composer a los que deseas realizar la actualización, en composer-a.b.c-airflow-x.y.z de un conjunto de datos tengan un formato común. También puedes usar alias de la versión.

Por ejemplo:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --image-version composer-1.20.12-airflow-1.10.15

API

  1. Realiza una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la Máscara de config.softwareConfig.imageVersion.

    2. En el cuerpo de la solicitud, en el campo imageVersion, especifica un nuevo elemento a la que quieres actualizar.

Por ejemplo:

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

  {
    "config": {
      "softwareConfig": {
        "imageVersion": "composer-1.20.12-airflow-1.10.15"
      }
    }
  }

Terraform

El campo image_version en el bloque config.software_config controles la imagen de Cloud Composer de tu entorno. En este especifica una nueva imagen de Cloud Composer.

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

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno la nueva versión de imagen de Cloud Composer a la que deseas realizar la actualización, en el composer-a.b.c-airflow-x.y.z de un conjunto de datos tengan un formato común. También puedes usar alias de la versión.

Ejemplo:

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

  config {
    software_config {
      image_version = "composer-1.20.12-airflow-1.10.15"
    }
  }
}

¿Qué sigue?