HorizontalPodAutocaling no Amazon EKS

12

Ao tentar configurar um HorizontalPodAutoscaler no Amazon EKS, a coluna TARGETS sempre é exibida <unknown>/50%e, ao descrever o HPA, vejo

Aviso FailedGetResourceMetric 17s (x50 ao longo de 1h) horizontal-pod-autoscaler incapaz de obter métricas para a CPU do recurso: não é possível buscar métricas da API de métricas de recursos: o servidor não conseguiu encontrar o recurso solicitado (obtenha pods.metrics.k8s.io)

Encontrei várias postagens em outros sites sobre problemas semelhantes mencionados --horizontal-pod-autoscaler-use-rest-clientsno kube-controller-manager, mas não consigo encontrar uma maneira de alterar as configurações no kube-controller-manager de um cluster EKS, pois parece que você não pode O SSH nos nós principais para gerenciamento e o kube-controller-manager não está listado como um recurso em qualquer lugar do sistema.

Tentei configurar o servidor de métricas manualmente, seguindo as instruções em https://github.com/kubernetes-incubator/metrics-server, mas nesse caso, é-me mostrado que o EKS não fornece o mapa de configuração necessário para a autenticação da API extensõesCould not create the API server: configmaps "extension-apiserver-authentication" not found

James Mills
fonte
Aqui está um eks hpa solução medium.com/eks-hpa-workaround/k8s-hpa-controller-6ac2dfb4c028 que estamos usando
James Smith
melhor a kubernete original, existem muitas ferramentas para inicializar o cluster e gerenciar os complementos é tão fácil usando leme
c4f4t0r

Respostas:

12

EDITADO

A AWS lançou o suporte ao dimensionamento automático de pod horizontal com métrica personalizada: https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling- com métrica personalizada /

RESPOSTA ANTERIOR

Esse é um problema conhecido atualmente no EKS. Aqui está a minha resposta do suporte (parcialmente omitido):

Infelizmente, atualmente o plano de controle do EKS tem problemas com o agregador de métricas-servidor. A equipe de serviço do EKS está trabalhando nesses problemas para oferecer suporte ao servidor de métricas para o Plano de Controle.

Assim que esse recurso for lançado, ele deverá ser anunciado publicamente em um dos seguintes links:

Indiquei seu interesse nesta questão e defenderei uma solução em seu nome.

Espero que eles resolvam isso em breve.

brotar
fonte
Obrigado. Eu absolutamente precisava desse recurso e obtive uma resposta semelhante deles. Fui em frente e criei um cluster com kops em que posso trabalhar quando surgem problemas. Esperamos que a amazon dê um pouco mais de configuração a essa plataforma no futuro.
James Mills
2

Sei que esse é um tópico mais antigo, mas queria adicionar algo, pois tivemos problemas para configurá-lo recentemente.

Enquanto o HPA é suportado no Kubernetes 1.10 da versão eks eks.2, no Kubernetes 1.11 já é suportado na versão eks.1.

Mas não funciona "pronto para uso" e o problema é o mesmo descrito na pergunta (a CPU atual não está definida).

Você precisa saber que o servidor de métricas não está instalado no EKS por padrão. O servidor de métricas pode ser encontrado aqui: https://github.com/kubernetes-incubator/metrics-server .

Depois que o servidor de métricas estiver em execução, o HPA estará trabalhando no EKS conforme o esperado.

Espero que ajude alguém!

Pampy
fonte
Olá, mesmo depois de adicionar o servidor de métricas, o hpa não pode receber métricas. :(
Balakumar Ezhilmaran
Para mim, isso fez o truque. Qual versão do EKS você está usando? Talvez o suporte da AWS possa ajudar quando todas as outras dicas não ajudaram.
21420 Pampy