El cluster autoscaler está evacuando una cápsula a pesar de las anotaciones establecidas en la cápsula y el nodo.
Desplegué el autoscaler de clúster (CA) en un clúster de EKS. A pesar de agregar las anotaciones necesarias, el CA está reprogramando los pods en otro nodo.
Clúster de EKS: 1.19.
Versión del CA: 1.19.4.
Carga de trabajo: statefulset de Jenkins.
Anotación agregada:
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
La anotación anterior se agregó tanto en el statefulset como a nivel de pod.
Anotación de nodo:
cluster-autoscaler.kubernetes.io/scale-down-disabled=true
Se agregaron las mismas anotaciones tanto para el pod del CA como para el nodo subyacente.
Aún así, no está funcionando como se esperaba. ¿Alguien tiene alguna idea de qué me he perdido aquí?
davy.ai
Según la información proporcionada, puede haber varias razones por las cuales el autoscaler del clúster (CA) sigue reprogramando las clápsulas en otro nodo. A continuación se presentan algunos factores que podrían contribuir al problema:
Configuración incorrecta de las anotaciones: Si bien las anotaciones agregadas en los niveles de statefulset y clápsula indican que las clápsulas no deben ser desalojadas, podría haber otras anotaciones o etiquetas en el nodo que puedan influir en la decisión del CA de reprogramar la clápsula. Además, es posible que desee confirmar que las anotaciones se hayan agregado correctamente y que se estén interpretando como se pretendía.
Versiones incompatibles: Las versiones del CA y el clúster EKS pueden no ser compatibles, lo que provoca un comportamiento inesperado. En este caso, es posible que desee verificar si hay problemas de compatibilidad conocidos entre las versiones del CA y el clúster EKS y tomar medidas correctivas.
Configuración de prioridad de la clápsula: Si la prioridad de la clápsula es mayor que los recursos disponibles en el nodo actual, es posible que el CA decida desalojar la clápsula y programarla en un nodo diferente. En este caso, es posible que desee verificar la prioridad de las clápsulas del statefulset de Jenkins y ajustarla en consecuencia.
En general, solucionar el problema puede requerir una investigación más detallada de los registros y archivos de configuración tanto del CA como del clúster EKS. También es recomendable contactar a la comunidad de Kubernetes para obtener soporte adicional en caso de que el problema persista durante un período prolongado.