- Newest
- Most votes
- Most comments
See https://aws.amazon.com/ec2/instance-types/, the g4dn.4xlarge has 225Gi of fast local instance storage. When launching an instance that has local instance storage, EKS Auto Mode will automatically use that local instance storage for ephemeral data (e.g. container images, Pod logs, etc.). When your node class has an ephemeral storage value configured that is less than what the instance already has from local instance storage, it will use a smaller EBS data volume to reduce costs.
answered a year ago
When using EKS Auto Mode with custom NodePools, there are some specific behaviors to be aware of regarding ephemeral storage configuration, especially for GPU instances.
The issue you're experiencing where GPU instances (g6, g4dn families) only get 20 GiB of ephemeral storage despite specifying 160 GiB in your NodeClass is likely due to how EKS Auto Mode handles different instance types.
In EKS Auto Mode, AWS manages the underlying infrastructure, including the AMIs used for your nodes. For GPU instances, there may be specific configurations or limitations that override your NodeClass ephemeral storage settings.
To troubleshoot this issue:
-
Verify that your NodeClass is correctly referenced in both NodePools by checking the status conditions of your NodePools using
kubectl describe nodepool. -
Check Kubernetes events to see if there are any messages related to node provisioning that might explain the discrepancy:
kubectl get events --sort-by=.metadata.creationTimestamp. -
Use the Kubernetes NodeDiagnostic resource to retrieve node logs for more information about how the nodes were provisioned.
-
You can also use the AWS EC2 CLI command
get-console-outputto retrieve console output from the nodes to see if there are any clues about the storage configuration. -
Check if there are any specific requirements or limitations for GPU instances in EKS Auto Mode that might be affecting the ephemeral storage allocation.
It's worth noting that EKS Auto Mode doesn't allow for custom AMIs, so you're limited to the AWS-provided configurations. If the ephemeral storage limitation is a critical issue for your workloads, you might need to consider using standard EKS with self-managed node groups or managed node groups where you have more control over the underlying infrastructure.
Sources
How to debug Auto-Mode custom NodePool | AWS re:Post
eks auto mode - custom amis | AWS re:Post
Optimizing Karpenter for Resource Constraints: Resolving CPU and Storage Issues in Kubernetes | AWS re:Post
Troubleshoot EKS Auto Mode - Amazon EKS
answered a year ago
Relevant content
asked a year ago

The nodepool seems to be in a Ready status, node logs indicate nothing, seemingly EKS is not even aware of the problem.