- Se descapó
- 4 de septiembre de 2026 a las 20:39 UTC
- Autor
- Kamo
- Compromit
- 0d1d953
Siguiente maneja SIGTERM con un proceso desnudo.exit(143), por lo que cada despliegue se cortó lo que sea esta vaina tener en vuelo, un poste de formulario, una acción del servidor, una carga útil RSC en streaming, una carga. Invisible cuando a La petición duró milisegundos; no invisible en un clúster que se despliega en cada empuje. scripts/standalone-entry.cjs envuelve el servidor independiente: en SIGTERM deja de aceptar, se queda de ocioso mantener-almuerzos a la vez para que una vaina sin nada en vuelo todavía sale en aproximadamente un segundo, y deja correr las solicitudes terminan bajo un tope que se encuentra por debajo de la terminaciónGracePeriodSeconds. Portado de kamo-internal, que lo ha llevado a cabo en producción durante meses. Este despliegue no tenía sonda de preparación, por lo que una vaina contaba como Ready el instante de su contenedor proceso iniciado. Con maxUnavailable 0 Kubernetes lee que como "la nueva vaina está sirviendo" y retira el antiguo, mientras que Next sigue rubricando y no ha atado su puerto. Solicitudes aterrizadas en un puerto nada estaba escuchando, que es de donde provenían los intermitentes 502 en el despliegue. /api/salud responde sólo para esta vaina y deliberadamente toca sin backend: una sonda de preparación decide si esta cápsula sale del Servicio, y cablearlo a un backend convierte un backend en un blip de backend en un Reencuentro de cada vaina aquí. El Dockerfile HEALTHCHECK ha apuntado a /api/salud desde que fue escrito; la ruta no existen, por lo que ese cheque ha estado fracasando durante todo el tiempo que ha estado allí. réplicas 1 - 2. Estado del lado del servidor vive en Redis, no en la cápsula, y no hay trabajo programado para duplicar, por lo que una segunda réplica no cambia nada excepto que perder una vaina deja de ser un apagón. En una réplica una OOM mata, una fallida sonda de vida o un drenaje de ganglios se llevó todo por el tiempo que sea necesario para arrancar. topologíaSpreadConstraints (añadidos anteriormente, inerte hasta ahora) mantener los dos en diferentes nodos donde el racimo puede manejarlo, y un PodDisruptionBudget en KlusterServices hace una espera de drenaje.