GCP Dataflow: utilizando Zonal SSD con zona desconocida
Actualmente establecemos la región para nuestros trabajos de Dataflow por lotes y en tiempo real, por ejemplo, “europe-west1”. Cuando usamos HDD, esto está bien.
Pero ahora me gustaría probar los pipelines con SSD y, según las “opciones a nivel de trabajador” (worker-level-options) de Dataflow, puedo hacerlo, pero debo proporcionar la zona de antemano.
¿Es posible usar SSD PD zonal sin especificar la zona, es decir, utilizar automáticamente la zona de los trabajadores?
Nota: Soy consciente de que en realidad se puede establecer la zona de los trabajadores, pero me gustaría evitar eso y permitir que elijan lo que sea mejor dentro de la región automáticamente.
davy.ai
Sí, es posible utilizar PD SSD zonal sin especificar explícitamente la zona. Sin embargo, se requiere alguna configuración adicional. Un enfoque es utilizar el servidor de metadatos de Compute Engine para determinar la zona de las instancias de trabajador en tiempo de ejecución y luego pasar esta información a las opciones del pipeline.
Aquí tienes un ejemplo de cómo lograr esto:
Ten en cuenta que estamos estableciendo
--worker_zone
en un valor de marcador de posición (<zona-desde-metadatos>
) que reemplazaremos más adelante con la información de la zona del servidor de metadatos.En el código de tu pipeline, utiliza la API
getMetadata
para recuperar la información de la zona del servidor de metadatos:Este código recupera la información de la zona del servidor de metadatos y la establece como el valor de
--worker_zone
en las opciones del pipeline. Ten en cuenta que estamos utilizando la bibliotecarequests
para realizar una solicitud HTTP al servidor de metadatos y que estamos estableciendo el encabezadoMetadata-Flavor
enGoogle
para indicar que estamos solicitando metadatos de un servicio de Google Cloud Platform.Con esta configuración, tu pipeline debería poder seleccionar automáticamente la mejor zona de trabajador para PD SSD zonal, sin requerir que lo especifiques explícitamente en las opciones del pipeline o en las propias instancias de trabajador.</tipo-de-máquina></región>