AWS EKS "0/3 nodes are available: 3 Too many pods" Error

7/8/2021

I have 3 node group t3a.micro and I installed ebs csi provider and storage-class.

I want deploy statefulset on mysql this is my manifest

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mysql-statefulset
spec:
  serviceName: mysql-service
  replicas: 1
  selector:
    matchLabels:
      app: mysql-pod
  template:
    metadata:
      labels:   
        app: mysql-pod
    spec:
      containers:
      - name: mysql
        image: mysql
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: pvc-test
          mountPath: /var/lib/mysql
  volumeClaimTemplates:
  - metadata:
      name: pvc-test
    spec:
      storageClassName: gp2-retain
      accessModes: [ "ReadWriteOnce" ] 
      resources:
        requests:
          storage: 1Gi

Warning FailedScheduling 20s (x16 over 20m) default-scheduler 0/3 nodes are available: 3 Too many pods.

-- loanshark
amazon-eks
amazon-web-services
kubernetes

1 Answer

4/28/2022

As mentioned in https://stackoverflow.com/questions/64965832/aws-eks-only-2-pod-can-be-launched-too-many-pods-error

According to https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI, t3a.micro type has

Maximum network interfaces: 2
Private IPv4 addresses per interface: 2	
IPv6 addresses per interface: 2

But EKS deploys DaemonSets for e.g. CoreDNS and kube-proxy, so some IP addresses on each node is already allocated.

Possible fix is just upgrade your instance to be a more capable type.

-- keypoint
Source: StackOverflow