- Se descapó
- 4 de septiembre de 2026 a las 19:50 UTC
- Autor
- Kamo
- Compromit
- aa64e09
Los despliegues sustituyeron a la única cápsula de cada servicio sin nada para captar las solicitudes en vuelo. Tres ajustes, aplicados en toda la flota: - preStop duerme 10s antes de que el proceso vea SIGTERM. Kubernetes elimina la cápsula de su EndpointSlice y lo señala al mismo momento, y Traefik sólo se entera de la eliminación por reloj, por lo que por un momento sigue enviando nuevas solicitudes en una cápsula que ya ha comenzado - negándose. Esa brecha es de donde vinieron los 502 en un despliegue por lo demás limpio. - terminación GracePeriodSeconds levantado por encima del sueño preStop, por lo que el gancho no es en sí mismo SIGKILLed, y en vuelo el trabajo tiene espacio para terminar. Es un techo, no una espera: una vaina ociosa todavía sale en aproximadamente un segundo. - minListoSegundos 15, por lo que una vaina que pasa de la preparación una vez y luego cae no puede retirarse el vaina saludable que reemplazó después de que CI ya haya llamado al despliegue bueno. topologíaSpreadConstraints se agregan listos para una segunda réplica; son inertes en uno. Auditoría del grupo en vivo: 63 de los 65 despliegues en el grupo de asistencia de kamo, 1 de 65 había un gancho pre-parada, y ninguno tenía minReadySeconds. La propia ventana de apagado **************** fue de 5s a 30s en el ConfigMap. Ese límite interior era el vinculante: no importa cuán generoso sea el de la vaina Periodo de gracia, la primavera dejó de esperar después de cinco segundos y dejó caer lo que todavía corría. El ConfigMap es lo que se ejecuta. Se monta sobre la aplicación.yml de la imagen como SPRING-CONFIG-LOCATION, un reemplazo completo en lugar de una superposición.