El incidente se manifestó como reinicios excesivamente lentos (30 minutos) de la aplicación Atlantis, una herramienta crítica para la gestión de infraestructura con Terraform. La causa raíz fue una configuración predeterminada de Kubernetes, fsGroupChangePolicy: Always, combinada con un volumen persistente (PV) que había crecido hasta contener millones de archivos. Cuando un pod con securityContext.fsGroup especificado se inicia, kubelet, por defecto, realiza un chgrp -R recursivo en todo el PV para asegurar que el grupo de seguridad del pod tenga los permisos adecuados. Esta operación, aunque segura, se convierte en un cuello de botella severo en volúmenes con una gran cantidad de inodes.
La cascada de fallo se inició con el crecimiento orgánico del PV de Atlantis, acumulando un gran número de archivos a lo largo del tiempo. Cada reinicio, necesario para rotar credenciales o incorporar nuevos proyectos, desencadenaba la costosa operación de cambio de permisos. Las salvaguardas existentes, como las alertas de Kubernetes, no señalaron directamente el problema de rendimiento en el montaje del volumen, ya que el pod simplemente parecía estar en un estado de inicialización prolongado. Los logs de kubelet fueron cruciales para identificar el mensaje Setting volume ownership for ... If the volume has a lot of files then setting volume ownership could be slow, que apuntaba directamente a la causa.
El problema se agravó por la falta de visibilidad granular en las operaciones internas de kubelet sin acceder a sus logs de bajo nivel. La interfaz de usuario de Kubernetes solo mostraba un pod atascado en la fase de inicialización. La solución fue un cambio de una sola línea en la configuración del pod, estableciendo fsGroupChangePolicy: OnRootMismatch. Esta política instruye a kubelet a cambiar los permisos solo si el directorio raíz del PV no tiene los permisos correctos, evitando la costosa operación recursiva en cada reinicio. Este cambio redujo el tiempo de reinicio de 30 minutos a 30 segundos, liberando una cantidad significativa de tiempo de ingeniería.