EKS FARGATE ONE POD ONE NODE

0

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 個答案
0

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
專家
已回答 1 年前
0

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

--Syd

profile picture
Syd
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南