3 ms·
I'm not 100% sure about the relationship between EKS, ECS and Fargate. Why would I deploy to Fargate over EKS? I assume it's because with Fargate I don't have
by allengeorge 9y ago
I'm not 100% sure about the relationship between EKS, ECS and Fargate.
Why would I deploy to Fargate over EKS? I assume it's because with Fargate I don't have to write a k8s deployment spec?
Why would I deploy to Fargate over ECS?
Legitimately curious, and looking for clarification/correction.
- adrianmacneil 9y agoWith ECS and EKS you get a managed master, then you set up your own autoscaling groups etc to deploy nodes (which you manage) into the cluster. With Fargate, you get access to AWS-managed multi-tenant nodes. So, Fargate connects to either your ECS or EKS cluster and avoids the need for you to worry about managing the nodes as well.
- NathanKP 9y agoAWS employee here. You would deploy to Fargate because you don't want to have to manage the underlying EC2 instances. You can use Fargate with both ECS and EKS (in 2018). ECS and EKS are just two different schedulers for orchestrating the containerized services that you want to run. Fargate is the engine behind them that executes the containers for you without you needing to worry about servers. ECS as a scheduler will always integrate much better with other AWS services. EKS will give you the advantage of being able to run the same scheduler on an on premise or on another cloud.
- mgalgs 9y agoI thought EKS was managed? Do you still have to manage the underlying instances in EKS?
- kainosnoema 9y agoYes, EKS is just managed K8s, which is the orchestration layer. You still need to have EC2 instances for the EKS tasks to be scheduled on. Unless you run your EKS tasks on Fargate, which is coming in 2018.
- avgkol 9y agoSo if I do "kubectl get nodes" while using Fargate, what do I see in response?
- chkal 9y agoThanks a lot for the explanation.
- nathankunicki 9y agoFargate is more analogous to EC2 than ECS or EKS. Fargate is a placement target for containers, just like EC2 instances in a cluster would be. You use ECS and EKS to define and schedule tasks/containers on a placement target. The primary difference between Fargate and EC2 is that with Fargate you don't need to manage physical instances and the software stack running on them (Docker daemon, etc). When you start a task, it runs...somewhere. In the AWS "cloud".