What does EKS fargate mean by one pod one node? how many replicas of my deployment can I have in one fargate class? I made a deployment which resulted into pending pods kubectl describe pod frontend-app-79fd8cfd9f-4jjg5 -n dev gave me the following output: Warning FailedScheduling 3m7s default-scheduler 0/2 nodes are available: 2 Too many pods, 2 node(s) had untolerated taint {eks.amazonaws.com/compute-type: fargate}. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.

2개 답변

Since Amazon EKS Fargate runs only one pod per node, the scenario of evicting pods in case of fewer resources doesn't occur. All Amazon EKS Fargate pods run with guaranteed priority, so the requested CPU and memory must be equal to the limit for all of the containers. For more information, see Configure Quality of Service for Pods in the Kubernetes documentation.

profile pictureAWS
답변함 일 년 전

AWS Fargate lets you launch containers or pods without the need to manage the underlying servers or nodes. So with EKS Fargate, each pod that runs on Fargate has its own isolation boundary. There is a 1:1 corelation between the pods and nodes. You won't have multiple pods on a single nodes as you would in Kubernetes normally.

You can review the quotas here - https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html#service-quotas-eks-fargate. Since many of these quotas are adjustable, you should be able to scale and have multiple replicas.

The error you have reported relates to fargate profiles vs namespaces in which you are trying to create the pod / deployment. Ideally you have Fargate profiles specifying which pods use fargate on the basis of namespaces and selectors defined in the profile as outlined here. If you have only EKS fargate configured ie. no node groups in EKS and you try to deploy to a namespace which does not have a corresponding Fargate profile, you can end up with the above error. This is also evident from the fact that default-scheduler is trying to schedule the pods rather than fargate-scheduler. You either need to launch the deployment / pod in namespace that has a Fargate profile or else create a new profile for the namspace in question and then delete + retry the deployment


profile picture
답변함 일 년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠