Saltar al contenido principal

Ciclo de vida de la instancia

Una instancia siempre está en exactamente uno de ocho estados. El estado en el que se encuentra determina tres cosas que le importan: si puede conectarse a ella, si le está facturando y qué acciones están disponibles.

La máquina de estados

La ruta normal es creatingrunningstoppingstoppedstartingrunning. El desmontaje siempre es destroyingdestroyed, y puede comenzar desde running, stopped o error.

No hay otros movimientos válidos. Pedir uno que el estado actual no permite —iniciar una instancia que ya está en ejecución, detener una que todavía se está creando— se rechaza, y la instancia se queda donde estaba.

Todos los estados

EstadoTransitorioFacturaciónQué significa
creatingningunaEl bloque ya está reservado y su carga de trabajo se está levantando por primera vez.
startingningunaUna instancia detenida vuelve a encenderse en la misma máquina, con el mismo disco.
runningnoGPU, por segundoLa carga de trabajo está activa. SSH, JupyterLab y los puertos que publicó son accesibles.
stoppingningunaEl contenedor se está apagando. Su disco se conserva.
stoppednodisco, por GB y por horaNo se ejecuta nada. El disco y la ranura de GPU siguen reservados para usted.
destroyingningunaEl contenedor y el disco se están desmontando.
destroyednoningunaFinal. El disco desapareció y la oferta volvió al mercado.
errornoningunaLa instancia no pudo levantarse. Vea más abajo.

Los estados transitorios son los cuatro que la plataforma está resolviendo activamente; la consola los muestra con una insignia parpadeante y actualiza con más frecuencia mientras uno está en curso. Se resuelven solos: no hay nada que pulsar ni ninguna acción que reintentar.

Los estados no transitorios son estables. Una instancia permanece en running, stopped, destroyed o error hasta que usted o el sistema de facturación la mueva.

Qué provoca cada transición

TransiciónDisparador
creatingUsted despliega: POST /v1/instances con una oferta, una plantilla y un tamaño de disco.
creating/startingrunningLa carga de trabajo se reportó activa. El medidor de GPU arranca aquí, no al desplegar.
creating/startingerrorLa carga de trabajo no pudo levantarse.
runningstoppingUsted la detiene, o su saldo llega a $0.
stoppingstoppedEl apagado terminó. El medidor de disco arranca aquí.
stoppedstartingUsted la inicia. Requiere un saldo positivo.
running/stopped/errordestroyingUsted la destruye, o su saldo llega a −$5.
destroyingdestroyedEl desmontaje terminó. El disco se elimina y la oferta se libera.

Dos de esos disparadores no son suyos. Cuando el saldo de la organización llega a cero, las instancias en ejecución se detienen automáticamente; si sigue cayendo hasta −$5, todo se destruye. Ambos casos se cubren en Detención y destrucción automáticas.

Desplegar e iniciar requieren un saldo mayor que cero. Detener y destruir nunca lo requieren: siempre puede apagar algo, sea cual sea su saldo.

La facturación sigue al estado

Los cargos se liquidan a la tarifa del estado en el que la instancia estuvo realmente, y cada cambio de estado liquida lo adeudado antes de que el cambio surta efecto. El medidor de GPU corre solo en running. El medidor de disco corre solo en stopped. Los cuatro estados transitorios, error y destroyed son gratuitos.

Por eso un despliegue que tarda dos minutos en levantarse no factura esos dos minutos, y por eso una instancia detenida sigue generando un cargo cada minuto en su libro contable.

Qué significa "error"

error significa que la plataforma no pudo levantar su carga de trabajo: la imagen falló al descargarse, el contenedor se negó a iniciar, o el host dejó de reportar durante el lanzamiento.

De ahí se derivan cuatro cosas:

  • No se le factura. El medidor está apagado en error, y nada se acumula mientras la instancia permanece ahí.
  • No se arreglará solo. No hay reintento automático. La instancia queda en error hasta que usted actúe.
  • La oferta sigue retenida. El bloque no vuelve al mercado hasta que la instancia llega a destroyed.
  • Destruir es la única opción. No puede iniciar, detener ni reparar una instancia con error. Destrúyala, corrija la causa y vuelva a desplegar.

Las causas habituales están en la plantilla y no en el hardware: un nombre o una etiqueta de imagen que no existe, o un registro privado con credenciales incorrectas. Una plantilla ssh o jupyter cuya imagen no esté construida sobre la imagen base de Superheat tampoco puede levantarse, porque esos modos dependen del entrypoint de la imagen base.

Una instancia que nunca llegó a running no tiene registros que leer, así que depure desde la plantilla y no desde la instancia. Solución de problemas recorre los fallos concretos.

Una instancia con error sigue reteniendo su oferta

No cuesta nada, pero nadie más puede alquilar ese bloque y usted no puede volver a desplegar sobre él. Destrúyala para que el bloque regrese al mercado.

Dónde ve los estados

La página Instancias lista todo excepto las instancias destruidas. A través de la API, GET /v1/instances?include_destroyed=true las devuelve.

La página de cada instancia muestra el estado actual como una insignia, solo las acciones que el estado actual permite —Iniciar en una instancia detenida, Detener en una en ejecución, Destruir en una en ejecución, detenida o con error— y, una vez que la carga de trabajo está activa, los datos de conexión en su pestaña Conectar.

Relacionado