AWS Fargate on EKS
Overview
Fargate provides serverless compute for containers - no need to manage underlying EC2 instances.
Create Fargate Profile
eksctl create fargateprofile \
--cluster my-cluster \
--name default \
--namespace default \
--labels role=webFargate Profile Configuration
# fargate-profile.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: my-cluster
region: us-west-2
fargateProfiles:
- name: default
selectors:
- namespace: default
labels:
env: production
- namespace: kube-systemUpdate /etc/eksctl.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: my-cluster
region: us-west-2
iam:
withOIDC: true
fargateProfiles:
- name: default
selectors:
- namespace: defaultConsiderations
- Pods get ENI in VPC (security groups apply)
- No SSH access to nodes
- No DaemonSets on Fargate
- EBS volumes not supported
- Longer pod startup time vs EC2
References
- EKS Fargate
- EKS Workshop - Fargate
- fargate-vs-ec2 - Detailed comparison