HorizontalPodAutoscaling en Amazon EKS

12

Cuando intento configurar un HorizontalPodAutoscaler en Amazon EKS, siempre aparece la columna OBJETIVOS <unknown>/50%y cuando describo el HPA, veo

Advertencia FailedGetResourceMetric 17s (x50 durante 1 hora) horizontal-pod-autoscaler no puede obtener métricas para la CPU de recursos: no puede obtener métricas de API de métricas de recursos: el servidor no pudo encontrar el recurso solicitado (obtener pods.metrics.k8s.io)

He encontrado varias publicaciones en otros sitios sobre problemas similares que mencionan usar --horizontal-pod-autoscaler-use-rest-clientsen el administrador de kube-controller, pero no puedo encontrar una manera de cambiar la configuración en el administrador de kube-controller para un clúster EKS, ya que parece que no puede SSH en los nodos maestros para la administración y kube-controller-manager no aparece como un recurso en ninguna parte del sistema.

He intentado configurar el servidor de métricas manualmente siguiendo las instrucciones en https://github.com/kubernetes-incubator/metrics-server, pero en ese caso, me muestran que EKS no proporciona el mapa de configuración necesario para autenticar API extensionesCould not create the API server: configmaps "extension-apiserver-authentication" not found

James Mills
fuente
Aquí hay una solución alternativa eks hpa medium.com/eks-hpa-workaround/k8s-hpa-controller-6ac2dfb4c028 que estamos usando
James Smith
mejor que el kubernete original, hay muchas herramientas para arrancar el clúster y administrar los complementos es muy fácil usando helm
c4f4t0r

Respuestas:

12

EDITADO

AWS ha lanzado el soporte para escalado automático de pod horizontal con métrica personalizada: https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling- con métrica personalizada /

RESPUESTA ANTERIOR

Este es un problema conocido actualmente con EKS. Aquí está mi respuesta de soporte (parcialmente omitido):

Desafortunadamente, el plano de control de EKS actualmente tiene problemas con el agregador del servidor de métricas. El equipo de servicio de EKS está trabajando en estos problemas para brindar soporte de servidor de métricas al plano de control.

Tan pronto como se publique esta función, debe anunciarse públicamente en cualquiera de los siguientes enlaces:

He indicado su interés en este tema y abogaré por una solución en su nombre.

Esperemos que lo solucionen pronto.

brotar
fuente
Gracias. Absolutamente necesitaba esta función y obtuve una respuesta similar de ellos. Seguí adelante y formé un clúster con kops en el que realmente puedo trabajar cuando surgen problemas. Esperemos que Amazon le dé más configuración a esta plataforma en el futuro.
James Mills
2

Sé que este es un tema antiguo, pero quería agregar algo, ya que tuvimos problemas para configurarlo recientemente.

Si bien HPA es compatible con Kubernetes 1.10 de la versión eks.2 de eks, en Kubernetes 1.11 ya es compatible con la versión eks.1.

Pero no funciona "fuera de la caja" y el problema es el mismo que se describe en la pregunta (la CPU actual no está configurada).

Debe saber que el servidor de métricas no está instalado en EKS de forma predeterminada. El servidor de métricas se puede encontrar aquí: https://github.com/kubernetes-incubator/metrics-server .

Después de que se ejecuta el servidor de métricas, el HPA está trabajando en EKS como se esperaba.

Espero que ayude a alguien!

Pampy
fuente
Hola, incluso después de agregar el servidor de métricas, el hpa no puede recibir métricas. :(
Balakumar Ezhilmaran
Para mí eso hizo el truco. ¿Qué versión de EKS estás usando? Tal vez el soporte de AWS pueda ayudar cuando todos los otros consejos no ayudaron.
Pampy