HorizontalPodAutoscaling auf Amazon EKS

12

Beim Versuch, einen HorizontalPodAutoscaler auf Amazon EKS einzurichten, wird immer die Spalte TARGETS angezeigt <unknown>/50%und beim Beschreiben des HPA, wie ich sehe

Warnung FailedGetResourceMetric 17s (x50 über 1 Stunde) horizontal-pod-autoscaler kann keine Metriken für Ressourcen-CPU abrufen: Metriken können nicht von Ressourcen-Metriken-API abgerufen werden: Der Server konnte die angeforderte Ressource nicht finden (pods.metrics.k8s.io abrufen)

Ich habe auf anderen Websites mehrere Posts zu ähnlichen Problemen gefunden, in denen die Verwendung --horizontal-pod-autoscaler-use-rest-clientsdes kube-controller-Managers erwähnt wird, aber ich kann keine Möglichkeit finden, die Einstellungen des kube-controller-Managers für einen EKS-Cluster zu ändern, da dies anscheinend nicht möglich ist SSH in den Masterknoten für Management und Cube-Controller-Manager wird nirgendwo im System als Ressource aufgeführt.

Ich habe versucht, den Metrics-Server manuell einzurichten, indem ich den Anweisungen unter https://github.com/kubernetes-incubator/metrics-server gefolgt bin. In diesem Fall wird jedoch angezeigt, dass EKS nicht die für die Authentifizierung der API erforderliche Konfigurationszuordnung bereitstellt ErweiterungenCould not create the API server: configmaps "extension-apiserver-authentication" not found

James Mills
quelle
Hier ist ein eks hpa Workaround medium.com/eks-hpa-workaround/k8s-hpa-controller-6ac2dfb4c028 , den wir verwenden
James Smith
besser die ursprüngliche kubernete, gibt es viele Werkzeuge , um die Cluster und die Verwaltung der Add - Ons Bootstrap ist so einfach Helm mit
c4f4t0r

Antworten:

12

BEARBEITET

Die AWS hat die Unterstützung für die automatische Skalierung horizontaler Pods mit benutzerdefinierten Metriken freigegeben: https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling- with-custom-metric /

VORHERIGE ANTWORT

Dies ist ein bekanntes Problem, das derzeit bei EKS auftritt. Hier ist meine Antwort vom Support (teilweise weggelassen):

Leider hat die EKS-Steuerebene derzeit Probleme mit dem Metrics-Server-Aggregator. Das EKS-Serviceteam arbeitet an diesen Problemen, um die Metric-Server-Unterstützung für die Steuerungsebene bereitzustellen.

Sobald diese Funktion veröffentlicht wird, sollte sie unter einem der folgenden Links veröffentlicht werden:

Ich habe Ihr Interesse an diesem Thema bekundet und werde mich für eine Lösung in Ihrem Namen einsetzen.

Hoffentlich klären sie es bald.

sprut
quelle
Vielen Dank. Ich brauchte dieses Feature unbedingt und bekam eine ähnliche Antwort von ihnen. Ich habe einen Cluster mit Kops aufgebaut, an dem ich tatsächlich arbeiten kann, wenn Probleme auftreten. Wir hoffen, dass amazon diese Plattform in Zukunft etwas weiter konfigurieren wird.
James Mills
2

Ich weiß, dass dies ein älteres Thema ist, aber ich wollte etwas hinzufügen, da wir kürzlich Probleme beim Einrichten hatten.

Während HPA in Kubernetes 1.10 ab eks Version eks.2 unterstützt wird, wird es in Kubernetes 1.11 bereits ab eks.1 unterstützt.

Aber es funktioniert nicht "out of the box" und das Problem ist das gleiche wie in der Frage beschrieben (aktuelle CPU ist nicht eingestellt).

Sie müssen wissen, dass der Metrics-Server nicht standardmäßig auf EKS installiert ist. Der Metrics-Server ist hier zu finden: https://github.com/kubernetes-incubator/metrics-server .

Nach dem Start des Metrics-Servers arbeitet die HPA erwartungsgemäß an EKS.

Hoffe das hilft jemandem!

Pampy
quelle
Hallo, auch nach dem Hinzufügen des Metrics-Servers kann der hpa keine Metriken empfangen. :(
Balakumar Ezhilmaran
Für mich hat das den Trick getan. Welche Version von EKS verwenden Sie? Vielleicht kann der AWS-Support helfen, wenn alle anderen Tipps nicht geholfen haben.
Pampy