O que é o Cluster Autoscaler?
O Cluster Autoscaler é um componente externo que pode ser instalado em um cluster EKS para escalar automaticamente o cluster para cima ou para baixo com base em pods pendentes. Isso significa que, se houver uma demanda alta de recursos, o cluster será escalado para atender às necessidades, e, após o uso diminuir, o cluster será reduzido para economizar recursos.
Como usar o Cluster Autoscaler com EKS Pod Identities?
Para usar o Cluster Autoscaler em um cluster EKS, é necessário criar um IAM role e autorizá-lo a interagir com a AWS. Em vez de usar o provedor de conectar OpenID, que é complicado, a equipe do EKS desenvolveu uma nova aplicação chamada EKS Pod Identities, que facilita a concessão de acesso.
Para habilitar o EKS Pod Identities, é necessário seguir os seguintes passos:
1. Implantar os agentes de identidade de pod EKS como um conjunto de daemon em todos os nós do cluster usando um add-on gerenciado pelo EKS.
2. Criar um IAM role para a conta de serviço do Kubernetes.
3. Criar uma política que permita ao Cluster Autoscaler acessar grupos de escalonamento de AWS.
4. Anexar a política ao IAM role.
5. Associar o IAM role com a conta de serviço do Kubernetes usando a API do EKS e o recurso de associação de identidade de pod.
Testando o Cluster Autoscaler
Depois de concluir esses passos, é possível implantar o Cluster Autoscaler usando um gráfico Helm e testá-lo criando uma implantação com várias réplicas. O Cluster Autoscaler escalará automaticamente o cluster para cima ou para baixo com base em pods pendentes.
Em resumo, o uso de Cluster Autoscaler e EKS Pod Identities permite uma escalabilidade automática eficiente em clusters EKS, garantindo que os recursos sejam utilizados de forma eficiente e otimizando os custos.