Amazon EKS의 HorizontalPodAutoscaling 문제에 대해

Amazon EKS에서 HorizontalPodAutoscaler를 설정하려고하면 TARGETS 열이 항상 표시 <unknown>/50%되고 HPA를 설명 할 때

경고 FailedGetResourceMetric 17s (1 시간 이상 x50) horizontal-pod-autoscaler가 리소스 CPU에 대한 메트릭을 가져올 수 없음 : 리소스 메트릭 API에서 메트릭을 가져올 수 없음 : 서버가 요청 된 리소스를 찾을 수 없음 (pods.metrics.k8s.io)

--horizontal-pod-autoscaler-use-rest-clientskube-controller-manager에서 사용 하는 것과 유사한 문제에 대해 다른 사이트에서 여러 게시물을 찾았 지만 EKS 클러스터에 대한 kube-controller-manager에서 설정을 변경하는 방법을 찾을 수 없습니다. 관리 및 kube-controller-manager의 마스터 노드에 대한 SSH는 시스템의 어느 위치 에나 리소스로 나열되지 않습니다.

https://github.com/kubernetes-incubator/metrics-server의 지침에 따라 메트릭 서버를 수동으로 설정하려고 시도 했지만이 경우 EKS가 API 인증에 필요한 구성 맵을 제공하지 않는 것으로 나타났습니다 확장Could not create the API server: configmaps "extension-apiserver-authentication" not found



답변

편집

AWS 사용자 정의 메트릭과 수평 포드 자동 확장에 대한 지원을 출시했습니다
https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling- 맞춤 측정 항목 /

이전 답변

이것은 현재 EKS에서 알려진 문제입니다. 다음은 지원팀의 답변입니다 (일부 생략).

불행히도 EKS 컨트롤 플레인에는 현재 메트릭 서버 어 그리 게이터에 문제가 있습니다. EKS 서비스 팀은 이러한 문제를 해결하기 위해 제어 서버에 메트릭 서버 지원을 제공하고 있습니다.

이 기능이 출시 되 자마자 다음 링크 중 하나에 공개되어야합니다.

이 문제에 대한 귀하의 관심을 표명했으며 귀하를 대신하여 해결책을 옹호 할 것입니다.

잘만되면 그들은 곧 그것을 분류한다.


답변

나는 이것이 오래된 주제라는 것을 알고 있지만 최근에 설정하는 데 문제가 있었기 때문에 무언가를 추가하고 싶었습니다.

HPA는 eks 버전 eks.2의 Kubernetes 1.10에서 지원되는 반면 Kubernetes 1.11에서는 이미 eks.1 버전에서 지원됩니다.

그러나 그것은 “즉시”작동하지 않으며 문제는 질문에 설명 된 것과 동일합니다 (현재 CPU가 설정되지 않았습니다).

메트릭 서버가 기본적으로 EKS에 설치되어 있지 않다는 것을 알아야합니다. metrics-server는 https://github.com/kubernetes-incubator/metrics-server 에서 찾을 수 있습니다 .

메트릭 서버가 실행 된 후 HPA는 예상대로 EKS에서 작동합니다.

누군가를 돕는 희망!


답변

현재 지원되며 약간 늦었고 새 클러스터가 필요하지만 업데이트를 수동으로 트리거 할 수는 없습니다.

https://aws.amazon.com/blogs/opensource/horizontal-pod-autoscaling-eks/


답변