Reglas de despliegue
Cuando despliegas una imagen nueva (o cambias algo de la plantilla de pods), las unidades en marcha quedan obsoletas. El rollout de la política decide cómo se reemplazan.
| Regla | Comportamiento | Úsala para |
|---|---|---|
rolling | Reemplaza las unidades obsoletas por lotes, creando primero la nueva. La capacidad nunca baja | APIs sin estado, workers |
replace_idle | Reemplaza ahora toda unidad obsoleta que no esté asignada ni ocupada, como mucho una cuarta parte de las unidades a la vez y nunca por debajo de min_units listas. Las asignadas u ocupadas se reemplazan cuando terminan: por su salida, parada o destrucción, o en su siguiente señal idle | lobbies, partidas |
next_start | No toca las unidades en marcha. El cambio se aplica la próxima vez que la plataforma crea un pod para esa unidad: un arranque tras una parada, un pod perdido, una unidad caliente nueva | mundos privados, parcelas |
replace_idle necesita señales: sin ellas no se puede saber qué es "idle" y la política se rechaza con invalid-field-value (details empieza por replace_idle_needs_signals). Es el valor por defecto del modo code.
Las versiones mezcladas son normales con replace_idle y next_start. Allocate prefiere unidades que ya están en la plantilla más nueva y la consola muestra cuántas siguen en la antigua.
Leer el estado
GET .../units/policy informa del despliegue:
Code
y el registro de eventos lleva rollout.started, rollout.completed y rollout.paused (falló un reemplazo). rollout_status está en la referencia de la API como RolloutStatusResponse.
Elige una
- Una partida nunca debe cortarse y las unidades son efímeras:
replace_idle. - Cada unidad guarda el mundo de un jugador y puede pasar semanas detenida:
next_start. - Las unidades son intercambiables y sin estado:
rolling.
