En este documento, se describe la flexibilidad de las instancias cuando se crean VMs de forma masiva con Compute Engine.
Cuando creas máquinas virtuales (VMs) de forma masiva en una región, si tu aplicación no está restringida a un solo tipo de máquina, puedes aumentar la tasa de éxito del aprovisionamiento de la cantidad requerida de VMs configurando la flexibilidad de instancias. La flexibilidad de las instancias te permite especificar uno o más tipos de máquinas que sean adecuados para tu carga de trabajo. Luego, Compute Engine aprovisiona las VMs con cualquiera de estos tipos de máquinas, según la capacidad y la disponibilidad de la cuota.
Usa la flexibilidad de instancias
Para configurar la flexibilidad de instancias, debes enumerar los tipos de máquinas adecuados definiendo una o más selecciones de instancias en tu solicitud de inserción masiva regional.
Por ejemplo, en una solicitud de REST, se incluye el objeto instanceFlexibilityPolicy, dentro del cual se definen uno o más objetos instanceSelections, cada uno de los cuales contiene una lista de tipos de máquinas.
Cuando Compute Engine recibe la solicitud, primero valida los tipos de máquinas y su compatibilidad zonal, y excluye las entradas no válidas. Si existe al menos una configuración válida, la operación continúa.
Luego, Compute Engine intenta aprovisionar VMs según el hardware, la cuota y las reservas disponibles. Si configuras rangos para las selecciones de tu instancia, se priorizarán las selecciones con un rango más bajo. Dentro de cada clasificación, Compute Engine tiene en cuenta las reservas sin usar y la orientación sobre las VM Spot para seleccionar tipos de máquinas con una menor probabilidad de interrupción.
Selección de zona cuando se define una forma de distribución objetivo
Cuando usas la flexibilidad de instancias con una solicitud bulkInsert regional, puedes especificar una forma de distribución objetivo para controlar cómo se distribuyen las VMs en las zonas de la región. Compute Engine selecciona zonas para aprovisionar VMs según esta forma, de la siguiente manera:
ANY_SINGLE_ZONE: Compute Engine selecciona una sola zona que tiene la mayor capacidad para los tipos de máquinas con una preferencia más alta.BALANCED: Compute Engine distribuye las VMs de la manera más uniforme posible entre las zonas con recursos disponibles. Dentro de cada zona, Compute Engine prioriza los tipos de máquinas con una preferencia más alta.ANY: Compute Engine selecciona zonas con recursos disponibles. Si se configuran los rangos, Compute Engine prioriza las zonas para aprovisionar VMs con tipos de máquinas con una preferencia más alta.
Para obtener más información, consulta Crea VMs de forma masiva en una región.
Aprovisionamiento mínimo de VMs y flexibilidad de instancias
Si defines un valor para la cantidad mínima requerida de VMs (minCount) en la solicitud bulkInsert, la API intentará crear al menos esa cantidad de VMs. Si Compute Engine no puede aprovisionar la cantidad mínima requerida de VMs (minCount), falla toda la operación y Compute Engine no crea ninguna VM. Cuando usas minCount con flexibilidad de instancias, Compute Engine prioriza el aprovisionamiento de VMs según la disponibilidad en lugar del rango, de la siguiente manera:
- Compute Engine prioriza el aprovisionamiento de la mayor cantidad posible de VMs, hasta
count, incluso si esto implica usar máquinas de menor preferencia. Por ejemplo, si tu solicitud especifica un mínimo de una VM requerida (minCount=1) y un máximo de 10 VMs (count=10), y si Compute Engine tiene capacidad para aprovisionar una VM de mayor preferencia o seis VMs de menor preferencia, Compute Engine aprovisiona las seis VMs de menor preferencia. - Si Compute Engine puede aprovisionar la misma cantidad máxima de VMs (hasta
count) con diferentes selecciones de instancias, prioriza la selección con mayor preferencia. Por ejemplo, si tu solicitud especifica un mínimo de una VM obligatoria (minCount=1) y un máximo de 10 VMs (count=10), y si Compute Engine puede aprovisionar seis VMs con una selección de instancias de mayor o menor preferencia, Compute Engine aprovisiona las seis VMs a partir de la selección de mayor preferencia.
Para obtener más información, consulta la propiedad minCount en bulkInsert.
Situaciones de error y validación de inserción masiva
Compute Engine realiza una validación inicial de los tipos de máquinas y su compatibilidad zonal, y excluye las entradas no válidas. Si queda al menos una configuración válida después de esta verificación inicial, Compute Engine continúa con la creación de la VM.
Sin embargo, algunas validaciones de tu configuración solo pueden ocurrir después de que Compute Engine haya seleccionado las zonas y los tipos de máquinas que se usarán para el aprovisionamiento, según tu política de flexibilidad de instancias y la capacidad disponible.
Si, durante esta etapa de validación posterior, se determina que la combinación específica de tipo de máquina y zona elegida para el aprovisionamiento no es válida, toda la solicitud de inserción masiva fallará con errores de validación. Esta falla puede ocurrir incluso si otras configuraciones dentro de instanceFlexibilityPolicy eran válidas inicialmente.
Limitaciones
Se aplican las siguientes limitaciones cuando usas la flexibilidad de instancias para la creación masiva de VM:
- Solo puedes especificar la flexibilidad de instancias para las solicitudes de
bulkInsertregionales; no puedes usarla con solicitudes zonales. - La flexibilidad de instancias no admite las funciones de AI Hypercomputer, incluidas las reservas futuras, el modelo de aprovisionamiento de inicio flexible y las GPUs A3 Ultra, A4 y más nuevas.
- No puedes especificar tipos personalizados de máquinas con la flexibilidad de instancias.
- Puedes especificar un máximo de 10 tipos de máquinas diferentes en un máximo de 10 selecciones de instancias diferentes.
¿Qué sigue?
- Obtén más información para crear VMs de forma masiva con flexibilidad de instancias.