En este documento, se explica cómo ver la disponibilidad en tiempo real y el tiempo de actividad esperado de las VMs Spot.
Antes de crear VMs Spot, puedes consultar la disponibilidad en tiempo real y el tiempo de actividad esperado en varios tipos de máquinas y ubicaciones con la API de advice.capacity. Esta información te ayuda a hacer lo siguiente:
Reduce los errores de disponibilidad de recursos: Cuando veas qué regiones o zonas tienen capacidad disponible, puedes especificar esas configuraciones cuando crees VMs Spot. Esta acción reduce las probabilidades de que encuentres errores de disponibilidad de recursos.
Optimiza las cargas de trabajo para la interrupción: Si comparas el tiempo de actividad esperado en diferentes configuraciones y ubicaciones de máquinas, puedes elegir las configuraciones que mejor se adapten a tus cargas de trabajo. Si verificas estos factores, podrás diseñar y organizar tus VMs de Spot de modo que la interrupción no afecte tus cargas de trabajo.
Para obtener información sobre cómo comparar la estabilidad y el costo en diferentes tipos de máquinas y ubicaciones, consulta Cómo ver la tasa de desaprobación y los precios de las VMs Spot.
Limitaciones
Cuando envías una solicitud a la API de advice.capacity, no puedes ver la disponibilidad de las TPU.
Información sobre la disponibilidad de recursos para las VMs Spot
Cuando envías una solicitud a la API de advice.capacity, el resultado muestra las siguientes métricas de recomendación. Estas métricas se basan en el tipo de máquina que deseas que usen tus VMs Spot, la zona en la que deseas crear VMs Spot y la disponibilidad en tiempo real y las tasas de interrupción históricas de los recursos solicitados.
Puntuación de obtención: Es la probabilidad de que se complete con éxito tu solicitud de creación de VMs interrumpibles con la cantidad de VMs y la configuración de la máquina que especificaste. Para obtener más información, consulta Puntuación de disponibilidad de las VMs Spot.
Tiempo de actividad estimado: Es la cantidad mínima de tiempo que puedes esperar que la mayoría de tus VMs Spot se ejecuten antes de que Compute Engine las interrumpa. Para obtener más información, consulta Tiempo de actividad estimado para las VMs Spot.
Puntuación de disponibilidad de las VMs Spot
Cuando envías una solicitud a la API de advice.capacity, la puntuación de disponibilidad (obtainability) en el resultado indica la probabilidad de que puedas crear correctamente la cantidad especificada de VMs Spot en una o más zonas. Compute Engine calcula esta puntuación en función de la disponibilidad en tiempo real de los recursos solicitados y la tasa de éxito de las solicitudes de creación recientes.
La puntuación de obtención varía de 0.0 a 1.0 y representa una de las siguientes probabilidades de éxito:
Altas probabilidades de éxito (
0.7a1.0): Es muy probable que crees las VMs Spot solicitadas.Probabilidades de éxito medias (de
0.4a0.6): Es moderadamente probable que crees las VMs Spot solicitadas. Si creas VMs Spot de forma masiva o en un MIG con un tamaño objetivo, es posible que obtengas solo una parte de las VMs solicitadas.Bajas probabilidades de éxito (
0.0a0.3): Es poco probable que crees las VMs Spot solicitadas. Te recomendamos que verifiques la disponibilidad de recursos en otra ubicación o para otro tipo de máquina, o que crees VMs con un modelo de aprovisionamiento diferente.
Tiempo de actividad estimado para las VMs Spot
Cuando envías una solicitud a la API de advice.capacity, el tiempo de actividad estimado (estimatedUptime) en el resultado indica el tiempo mínimo que se espera que se ejecute la mayoría de la cantidad especificada de VMs puntuales antes de la interrupción. Compute Engine calcula este tiempo de actividad según los patrones de uso históricos y actuales del tipo de máquina y la ubicación especificados.
Compute Engine puede establecer el tiempo de actividad estimado en uno de los siguientes valores:
60 minutos (3,600 segundos): Es probable que la mayoría de tus VMs Spot se ejecuten durante una hora antes de que Compute Engine las interrumpa. Crea VMs para cargas de trabajo de larga duración que puedan tolerar interrupciones, como las cargas de trabajo por lotes.
10 minutos (600 segundos): Es probable que la mayoría de tus VMs Spot se ejecuten durante 10 minutos antes de que Compute Engine las interrumpa. Crea VMs solo para tareas de ejecución corta o para cargas de trabajo tolerantes a errores que guardan su progreso en intervalos cortos.
1 minuto (60 segundos): Es probable que la mayoría de tus VMs Spot se ejecuten durante un minuto antes de que Compute Engine las interrumpa. Te recomendamos que hagas una de las siguientes acciones:
Crea VMs solo para tareas muy cortas, pruebas o cargas de trabajo no críticas.
Verifica la disponibilidad de recursos en otra ubicación o para otro tipo de máquina.
Crea VMs con un modelo de aprovisionamiento diferente.
Prácticas recomendadas
Para maximizar tus probabilidades de obtener capacidad después de usar la API de advice.capacity, te recomendamos las siguientes prácticas recomendadas:
Compara los resultados en diferentes tipos de máquinas: Si tu carga de trabajo es flexible, compara las opciones con una cantidad diferente de VMs de Spot o tipos de máquinas. Por ejemplo, puedes comparar el resultado de 100 VMs con un tipo de máquina
n1-standard-2y 50 VMs con un tipo de máquinan1-standard-4. Luego, puedes crear VMs de Spot con la configuración que mejor equilibre la disponibilidad y el tiempo de actividad estimado para las necesidades de tu carga de trabajo.Compara los resultados en varias ubicaciones: Si tu carga de trabajo se puede ejecutar en varias regiones o zonas, verifica la disponibilidad en cada ubicación. Por ejemplo, si dos regiones ofrecen el mismo tiempo de actividad estimado, crea VMs Spot en la región con la puntuación de disponibilidad más alta.
Distribuye las VMs en varias zonas: Si especificas una forma de distribución objetivo de
ANYoBALANCED, la API deadvice.capacitypodría recomendarte que crees VMs Spot en varias zonas. Por ejemplo, para maximizar tus posibilidades de crear 100 VMs Spot, el resultado podría recomendarte que crees 90 VMs en una zona y 10 VMs en otra.
Antes de comenzar
- De forma predeterminada, la API de
advice.capacityincluye zonas de IA en sus recomendaciones de disponibilidad y tiempo de actividad esperado. Para asegurarte de que puedes crear VMs Spot en zonas de IA si la API recomienda que crees VMs en una de estas zonas, verifica que las zonas de IA estén habilitadas para tu proyecto. -
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Cloud de Confiance by S3NS . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .
Roles obligatorios
Para obtener los permisos que necesitas para ver la disponibilidad de las VMs de Spot, pídele a tu administrador que te otorgue el rol de IAM Visualizador de Compute (roles/compute.viewer) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para ver la disponibilidad de las VMs de Spot. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para ver la disponibilidad de las VMs de Spot:
-
Para ver la disponibilidad de las VMs Spot, ejecuta
compute.advice.capacityen el proyecto.
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Consulta la disponibilidad de las VMs Spot
Para ver la disponibilidad de las VMs puntuales, debes especificar la ubicación, la configuración de la máquina y la cantidad de VMs que deseas crear. Según los resultados, puedes crear las VMs puntuales o ver la disponibilidad de recursos en otra ubicación o para otra configuración de máquina.
Según los requisitos de tu carga de trabajo, considera lo siguiente:
Para ver la disponibilidad en varias series de máquinas, tipos de máquinas y regiones o zonas de forma simultánea, usa la consola de Cloud de Confiance .
Para ver la disponibilidad de las formas de distribución objetivo en un MIG regional, usa gcloud CLI o la API de REST.
Para ver la disponibilidad de las VMs con GPU N1 o los discos SSD locales que no están conectados a un tipo de máquina de forma predeterminada, usa la API de REST.
Para ver la disponibilidad de las VMs Spot, selecciona una de las siguientes opciones:
Console
En la consola de Cloud de Confiance , ve a la página Asesor de capacidad.
En el panel Filtros, completa los siguientes pasos:
En la sección Ubicación, en la lista Región, selecciona las regiones en las que deseas ver la disponibilidad de las VMs Spot.
En la sección Especificaciones de la máquina, especifica la configuración de la máquina y la cantidad de VMs de Spot cuya disponibilidad deseas consultar:
En la lista Familia de máquinas, selecciona una familia de máquinas.
En la lista Series, selecciona hasta tres series de máquinas.
En la lista Tipo de máquina, selecciona hasta cinco tipos de máquinas.
En el campo Cantidad de VMs, ingresa la cantidad de VMs de Spot.
Haz clic en Buscar.
gcloud
Para ver la disponibilidad de las VMs Spot, usa el comando gcloud beta compute advice capacity:
gcloud beta compute advice capacity \
--provisioning-model=SPOT \
--instance-selection-machine-types=MACHINE_TYPES \
--target-distribution-shape=TARGET_DISTRIBUTION_SHAPE \
--size=SIZE \
--region=REGION
Reemplaza lo siguiente:
MACHINE_TYPES: Es una lista separada por comas de los tipos de máquinas para los que deseas ver la disponibilidad, por ejemplo,n2-standard-2,n2-standard-4. Puedes especificar hasta cinco tipos de máquinas.TARGET_DISTRIBUTION_SHAPE: Es la distribución de los recursos solicitados. Según el tipo de carga de trabajo que deseas ejecutar y las zonas en las que deseas crear VMs, especifica uno de los siguientes valores:ANY: Deseas crear VMs Spot en una o más zonas según la disponibilidad. Especifica este valor para las cargas de trabajo por lotes.ANY_SINGLE_ZONE: Deseas crear VMs Spot solo en una zona según la disponibilidad. Especifica este valor para las cargas de trabajo que requieren una comunicación extensa entre las VMs, como las cargas de trabajo de IA o de computación de alto rendimiento (HPC).BALANCED: Deseas crear VMs Spot en una o más zonas según la disponibilidad, y que Compute Engine distribuya las VMs de la manera más uniforme posible entre las zonas. Especifica este valor para minimizar el impacto de las fallas zonales en las cargas de trabajo de entrega o por lotes con alta disponibilidad.
SIZE: Es la cantidad de VMs Spot que deseas crear.REGION: Es la región en la que deseas ver la disponibilidad de las VMs Spot. Para especificar una lista de zonas separadas por comas en lugar de una región, reemplaza la marca--regionpor la marca--zones.
El resultado es similar a lo siguiente:
recommendations:
- scores:
obtainability: 0.9
estimatedUptime: 600s
- shards:
- instanceCount: 90
machineType: n2-standard-2
provisioningModel: SPOT
zone: https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-a
- instanceCount: 10
machineType: n2-standard-4
provisioningModel: SPOT
zone: https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-c
REST
Para ver la disponibilidad de las VMs Spot, realiza una solicitud POST al método advice.capacity en versión beta.
Por ejemplo, para ver la disponibilidad de dos tipos de máquinas en una región, realiza una solicitud de la siguiente manera. Puedes ver la disponibilidad de hasta cinco tipos de máquinas por solicitud.
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacity
{
"instanceProperties": {
"scheduling": {
"provisioningModel": "SPOT"
}
},
"instanceFlexibilityPolicy": {
"instanceSelections": {
"MACHINE_SELECTION_1": {
"machineTypes": [
"MACHINE_TYPE_1"
]
},
"MACHINE_SELECTION_2": {
"machineTypes": [
"MACHINE_TYPE_2"
]
}
}
},
"distributionPolicy": {
"targetShape": "TARGET_DISTRIBUTION_SHAPE"
},
"size": SIZE
}
Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyecto.REGION: Es la región en la que deseas ver la disponibilidad de las VMs Spot.MACHINE_SELECTION_1yMACHINE_SELECTION_2: Un nombre para la selección del tipo de máquina. Por ejemplo, especificaselection-1yselection-2, respectivamente.MACHINE_TYPE_1yMACHINE_TYPE_2: Son los tipos de máquinas para los que deseas ver la disponibilidad. Según el tipo de máquina, ten en cuenta lo siguiente:Tipos de máquinas N1: Para adjuntar GPUs a tus VMs de Spot N1, incluye el campo
guestAcceleratorsen los camposMACHINE_SELECTION_1oMACHINE_SELECTION_2de la siguiente manera:"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "ACCELERATOR_TYPE" } ]Reemplaza lo siguiente:
ACCELERATOR_COUNT: Es la cantidad de GPUs que se conectarán a tus VMs Spot N1.ACCELERATOR_TYPE: Un modelo de GPU que admite la serie de máquinas N1.
Tipos de máquinas sin discos SSD locales predeterminados: Para conectar discos SSD locales a tus VMs Spot, incluye el campo
disksen los camposMACHINE_SELECTION_1oMACHINE_SELECTION_2. Para cada disco SSD local que desees conectar, repite el campotypey configúralo comoSCRATCH. Por ejemplo, para conectar dos discos SSD locales, incluye lo siguiente:"disks": [ { "type": "SCRATCH" }, { "type": "SCRATCH" } ]
TARGET_DISTRIBUTION_SHAPE: Es la distribución de los recursos solicitados. Según el tipo de carga de trabajo que deseas ejecutar y las zonas en las que deseas crear VMs, especifica uno de los siguientes valores:ANY: Deseas crear VMs Spot en una o más zonas según la disponibilidad. Especifica este valor para las cargas de trabajo por lotes.ANY_SINGLE_ZONE: Deseas crear VMs Spot solo en una zona según la disponibilidad. Especifica este valor para las cargas de trabajo que requieren una comunicación extensa entre las VMs, como las cargas de trabajo de IA o HPC.BALANCED: Deseas crear VMs Spot en una o más zonas según la disponibilidad, y Compute Engine distribuye las VMs de la manera más uniforme posible entre las zonas. Especifica este valor para minimizar el impacto de las fallas zonales en las cargas de trabajo de entrega o por lotes con alta disponibilidad.
SIZE: Es la cantidad de VMs Spot que deseas crear.
El resultado es similar a lo siguiente:
{
"recommendations": [
{
"scores": {
"estimatedUptime": "600s",
"obtainability": 0.9
},
"shards": [
{
"instanceCount": 90,
"machineType": "n2-standard-2",
"provisioningModel": "SPOT",
"zone": "https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-a"
},
{
"instanceCount": 10,
"machineType": "n2-standard-4",
"provisioningModel": "SPOT",
"zone": "https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-c"
}
]
}
]
}
Si deseas ver la disponibilidad de las VMs Spot en zonas específicas dentro de una región, incluye el campo zones en el cuerpo de la solicitud.
¿Qué sigue?
Obtén más información para crear y usar VMs Spot.
Obtén más información sobre las prácticas recomendadas para las VMs Spot.