Instalar complementos personalizados

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página se describe cómo instalar complementos personalizados en tu entorno de Cloud Composer.

El gestor de complementos de Apache Airflow te permite escribir operadores, ganchos, sensores o interfaces de Apache Airflow internos personalizados. Para obtener más información, consulta los plugins personalizados en la documentación de Airflow.

Acerca de los complementos personalizados

Cuando creas un entorno, Cloud Composer crea un segmento de Cloud Storage y lo asocia a tu entorno. Usa la carpeta plugins del bucket de tu entorno para instalar complementos personalizados.

Antes de empezar

  • Tu cuenta debe tener un rol que permita ver y modificar el contenido del segmento de tu entorno.
  • Este método de instalación solo se aplica a los plugins de Airflow. Por ejemplo, no puedes usar este método para instalar módulos de Python comunes u otras bibliotecas.
  • Los complementos deben cumplir las directrices de la plantilla de complementos de Airflow.

Instalar un complemento

Para instalar un complemento personalizado en tu entorno de Cloud Composer, copia el código del complemento en la carpeta plugins del bucket de tu entorno.

cuyo valor predeterminado es 5000.

Para instalar un complemento, sigue estos pasos:

Consola

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

    Ir a Entornos

  2. Busca tu entorno y sigue el enlace DAGs.

  3. Sube un nivel de carpeta y, a continuación, ve a la carpeta plugins/.

  4. Sube los archivos del complemento. Para obtener más información sobre cómo subir objetos, consulta Subir objetos.

gcloud

Usa el siguiente comando gcloud:

gcloud composer environments storage plugins import \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --source PATH_TO_LOCAL_FILE \
    --destination PATH_IN_SUBFOLDER

Sustituye:

  • ENVIRONMENT_NAME con el nombre del entorno.
  • LOCATION con la región en la que se encuentra el entorno.
  • PATH_TO_LOCAL_FILE con la ruta del archivo que quieras subir.
  • (Opcional) PATH_IN_SUBFOLDER con la ruta de la subcarpeta. Usa el argumento --destination para subir un complemento a una subcarpeta de la carpeta plugins. De lo contrario, omite el argumento --destination.

Ver la lista de complementos

Consola

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

    Ir a Entornos

  2. Busca tu entorno y sigue el enlace DAGs.

  3. Sube un nivel de carpeta y, a continuación, ve a la carpeta plugins/.

  4. Ver los archivos del complemento.

gcloud

Usa el siguiente comando gcloud:

gcloud composer environments storage plugins list \
    --environment ENVIRONMENT_NAME \
    --location LOCATION

Sustituye:

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

Eliminar un complemento

Para eliminar un complemento de tu entorno de Cloud Composer, elimina el código del complemento de la carpeta plugins del bucket del entorno.

Para eliminar un complemento, sigue estos pasos:

Consola

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

    Ir a Entornos

  2. Busca tu entorno y sigue el enlace DAGs.

  3. Sube un nivel de carpeta y, a continuación, ve a la carpeta plugins/.

  4. Elimina los archivos del complemento. Para obtener más información sobre cómo eliminar objetos, consulta Eliminar objetos.

gcloud

Usa el siguiente comando gcloud:

gcloud composer environments storage plugins delete \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    PLUGIN_TO_DELETE

Descargar complementos

Para descargar complementos, elige una opción:

Consola

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

    Ir a Entornos

  2. Busca tu entorno y sigue el enlace DAGs.

  3. Sube un nivel de carpeta y, a continuación, ve a la carpeta plugins/.

  4. Descarga los archivos del complemento. Para obtener más información sobre cómo eliminar objetos, consulta Descargar objetos.

gcloud

Usa el siguiente comando gcloud:

gcloud composer environments storage plugins export \
  --environment ENVIRONMENT_NAME \
  --location LOCATION \
  --destination PATH_TO_LOCAL_DESTINATION \
  --source PATH_IN_FOLDER

Sustituye:

  • ENVIRONMENT_NAME con el nombre del entorno.
  • LOCATION con la región en la que se encuentra el entorno.
  • PATH_TO_LOCAL_DESTINATION con el destino del archivo descargado.
  • (Opcional) --source es una opción para descargar solo un complemento. PATH_IN_FOLDER es la ruta de la carpeta.

Inhabilitar complementos del servidor web

En Cloud Composer 3, si tienes problemas con la interfaz de usuario de Airflow, puedes inhabilitar los complementos del servidor web sin tener que eliminarlos del segmento del entorno.

gcloud

Los siguientes argumentos de Google Cloud CLI habilitan e inhabilitan los complementos del servidor web:

  • --no-support-web-server-plugins: inhabilita los complementos del servidor web
  • --support-web-server-plugins: habilita los complementos del servidor web

Para inhabilitar los complementos del servidor web, ejecuta el siguiente comando de la CLI de Google Cloud:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --no-support-web-server-plugins

Para habilitar los complementos del servidor web, ejecuta el siguiente comando de la CLI de Google Cloud:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --support-web-server-plugins

Haz los cambios siguientes:

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

API

  1. Crea una solicitud de la API environments.patch.

  2. En esta solicitud:

    1. En el parámetro updateMask, especifique la máscara config.software_config.web_server_plugins_mode.

    2. En el cuerpo de la solicitud, en el campo web_server_plugins_mode:

      • Especifica PLUGINS_DISABLED para inhabilitar los complementos del servidor web.
      • Especifica PLUGINS_ENABLED para habilitar los complementos del servidor web.

Ejemplo (inhabilitar complementos):

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

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_DISABLED"
   }
}

Ejemplo (habilitar complementos):

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

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_ENABLED"
   }
}

Solucionar problemas con los complementos

Los complementos causan problemas con la interfaz de Airflow

Puedes inhabilitar los complementos del servidor web sin eliminarlos. Para obtener más información, consulta Inhabilitar complementos de servidor web.

Un complemento recién subido no se ve en la interfaz de usuario de Airflow

Si usas Control de acceso a la interfaz de Airflow, es posible que el complemento que acabas de subir no se vea en la interfaz de Airflow. Para solucionar este problema, pide al administrador de la interfaz de usuario de Airflow que configure el acceso al complemento que acabas de subir o asígnate el rol Admin en la interfaz de usuario de Airflow.

Siguientes pasos