HorizontalPodAutoscaling sur Amazon EKS


12

Lorsque vous essayez de configurer un HorizontalPodAutoscaler sur Amazon EKS, la colonne TARGETS s'affiche toujours <unknown>/50%et lorsque je décris le HPA, je vois

Avertissement FailedGetResourceMetric 17 s (x50 sur 1 h) horizontal-pod-autoscaler impossible d'obtenir les métriques pour le processeur de ressource: impossible de récupérer les métriques de l'API des métriques de ressource: le serveur n'a pas pu trouver la ressource demandée (obtenir pods.metrics.k8s.io)

J'ai trouvé plusieurs publications sur d'autres sites sur des problèmes similaires mentionnant à utiliser --horizontal-pod-autoscaler-use-rest-clientssur le gestionnaire de contrôleur de kube, mais je ne trouve pas de moyen de modifier les paramètres sur le gestionnaire de contrôleur de kube pour un cluster EKS car il semble que vous ne puissiez pas SSH dans les nœuds maîtres pour la gestion et kube-controller-manager n'est répertorié comme ressource nulle part dans le système.

J'ai essayé de configurer le serveur de métriques manuellement en suivant les instructions sur https://github.com/kubernetes-incubator/metrics-server mais dans ce cas, on me montre qu'EKS ne fournit pas la carte de configuration nécessaire à l'authentification de l'API extensionsCould not create the API server: configmaps "extension-apiserver-authentication" not found


Voici une solution de contournement eks hpa medium.com/eks-hpa-workaround/k8s-hpa-controller-6ac2dfb4c028 que nous utilisons
James Smith

mieux que le kubernete d'origine, il existe de nombreux outils pour amorcer le cluster et la gestion des addons est si facile à l'aide de helm
c4f4t0r

Réponses:


12

ÉDITÉ

L'AWS a publié la prise en charge de l'autoscaling horizontal des pods avec une métrique personnalisée: https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling- avec-métrique personnalisée /

RÉPONSE PRÉCÉDENTE

Il s'agit d'un problème connu actuellement avec EKS. Voici ma réponse du support (partiellement omis):

Malheureusement, le plan de contrôle EKS a actuellement des problèmes avec l'agrégateur de serveur de métriques. L'équipe de service EKS travaille sur ces problèmes pour apporter une prise en charge métrique-serveur au plan de contrôle.

Dès que cette fonctionnalité sera publiée, elle devrait être annoncée publiquement dans l'un des liens suivants:

J'ai indiqué votre intérêt pour cette question et je plaiderai pour une solution en votre nom.

J'espère qu'ils le régleront bientôt.


Je vous remercie. J'avais absolument besoin de cette fonctionnalité et j'ai obtenu une réponse similaire de leur part. Je suis allé de l'avant et j'ai créé un cluster avec des kops sur lesquels je peux réellement travailler lorsque des problèmes surviennent. J'espère qu'Amazon donnera plus de configuration à cette plate-forme à l'avenir.
James Mills

2

Je sais que c'est un sujet plus ancien, mais je voulais ajouter quelque chose, car nous avons eu des problèmes pour le configurer récemment.

Alors que HPA est pris en charge dans Kubernetes 1.10 à partir de la version eks eks.2, dans Kubernetes 1.11, il est déjà pris en charge à partir de la version eks.1.

Mais cela ne fonctionne pas "prêt à l'emploi" et le problème est le même que celui décrit dans la question (le processeur actuel n'est pas défini).

Vous devez savoir que le serveur de métriques n'est pas installé sur EKS par défaut. Le serveur de métriques peut être trouvé ici: https://github.com/kubernetes-incubator/metrics-server .

Après l'exécution du serveur de métriques, le HPA travaille sur EKS comme prévu.

J'espère que cela aide quelqu'un!


Salut, même après avoir ajouté le serveur de métriques, le HPA ne peut pas recevoir de métriques. :(
Balakumar Ezhilmaran

Pour moi, ça a fait l'affaire. Quelle version d'EKS utilisez-vous? Peut-être que le support AWS peut vous aider lorsque tous les autres conseils n'ont pas aidé.
Pampy

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.