- Newest
- Most votes
- Most comments
To debug your custom NodePool in EKS Auto Mode, there are a few things you can check and try:
-
NodePool Configuration: Your NodePool configuration looks generally correct, but there are a couple of points to note:
- You're specifying the t4g instance family, which is an ARM-based instance type. However, your architecture requirement is set to amd64. This mismatch could be preventing nodes from being created. Consider changing the architecture to arm64 or using an x86-based instance family like t3 or t3a.
-
System NodePool: The error message you're seeing suggests that the pod is trying to schedule on the "system" NodePool, which has a taint for critical add-ons. Make sure your workloads are not accidentally being scheduled on the system NodePool.
-
Logs and Diagnostics: In EKS Auto Mode, AWS manages Karpenter for you, so you don't have direct access to Karpenter logs. However, you can still troubleshoot using:
- Kubernetes NodeDiagnostic resource to retrieve node logs
- AWS EC2 CLI command 'get-console-output' to get console output from nodes
- Check Kubernetes events and node conditions published by the Amazon EKS node monitoring agent
-
IAM and RBAC: Ensure that your AWS IAM and Kubernetes RBAC resources are properly configured for EKS Auto Mode.
-
Resource Requirements: Make sure your pods' resource requests are compatible with the instance types you've specified in your NodePool.
-
Capacity: Check if you have any EC2 instance limits in your AWS account that might be preventing new instances from being launched.
To get more insights:
- Use 'kubectl describe nodepool eks-auto-mode' to see detailed information about your NodePool.
- Check Kubernetes events with 'kubectl get events --sort-by=.metadata.creationTimestamp'.
- Review the status of your pods to see if they're pending or if there are any other issues.
If you're still having trouble, you may need to contact AWS support for more detailed diagnostics, as they have access to the underlying Karpenter logs and infrastructure in EKS Auto Mode.
Sources
Troubleshoot EKS Auto Mode - Amazon EKS
Create a Node Pool for EKS Auto Mode - Amazon EKS
Automate cluster infrastructure with EKS Auto Mode - Amazon EKS
Hi,
This page tells you how to access the logs: https://docs.aws.amazon.com/eks/latest/userguide/auto-troubleshoot.html
You must use AWS and Kubernetes APIs to troubleshoot nodes. You can:
Use a Kubernetes NodeDiagnostic resource to retrieve node logs.
Use the AWS EC2 CLI command get-console-output to retrieve console output from nodes.
This complementary page should also help you: https://docs.aws.amazon.com/eks/latest/userguide/auto-get-logs.html
Best,
DIdier
The page telling me how to get kubelet logs from a node doesn't help much before there are any nodes :) I was hoping for an answer exactly like this- but that tells me how to pull the logs for the managed karpenter service.
Relevant content
asked a year ago
asked a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 4 years ago

This was the solution - didn't realize
gnodes were all arm based. Switching to t3 got it working. I still would like to be able to read the karpenter logs though- especially since I don't pay for enterprise support!