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.
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.