title: FailedScheduling: 0/3 nodes are available: 3 Insufficient pods
body: <p>I'm trying to deploy my NodeJS application to EKS and run 3 pods with exactly the same container.</p>
  
  <p>Here's the error message:</p>
  
  <pre><code>$ kubectl get pods
  NAME                                 READY   STATUS             RESTARTS   AGE
  cm-deployment-7c86bb474c-5txqq       0/1     Pending            0          18s
  cm-deployment-7c86bb474c-cd7qs       0/1     ImagePullBackOff   0          18s
  cm-deployment-7c86bb474c-qxglx       0/1     ImagePullBackOff   0          18s
  public-api-server-79b7f46bf9-wgpk6   0/1     ImagePullBackOff   0          2m30s
  
  $ kubectl describe pod cm-deployment-7c86bb474c-5txqq
  Events:
    Type     Reason            Age                  From               Message
    ----     ------            ----                 ----               -------
    Warning  FailedScheduling  23s (x4 over 2m55s)  default-scheduler  0/3 nodes are available: 3 Insufficient pods.
  
  </code></pre>
  
  <p>So it says that <code>0/3 nodes are available</code> However, if I run
  <code>kubectl get nodes --watch</code></p>
  
  <pre><code>$ kubectl get nodes --watch
  NAME                                                 STATUS   ROLES    AGE    VERSION
  ip-192-168-163-73.ap-northeast-2.compute.internal    Ready    &lt;none&gt;   6d7h   v1.14.6-eks-5047ed
  ip-192-168-172-235.ap-northeast-2.compute.internal   Ready    &lt;none&gt;   6d7h   v1.14.6-eks-5047ed
  ip-192-168-184-236.ap-northeast-2.compute.internal   Ready    &lt;none&gt;   6d7h   v1.14.6-eks-5047ed
  
  </code></pre>
  
  <p>3 pods are running.</p>
  
  <p>here are my configurations:</p>
  
  <pre><code>aws-auth-cm.yaml
  
  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: aws-auth
    namespace: kube-system
  data:
    mapRoles: |
      - rolearn: [MY custom role ARN]
        username: system:node:{{EC2PrivateDNSName}}
        groups:
          - system:bootstrappers
          - system:nodes
  
  
  </code></pre>
  
  <pre><code>deployment.yaml
  
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: cm-deployment
  spec:
    replicas: 3
    selector:
      matchLabels:
        app: cm-literal
    template:
      metadata:
        name: cm-literal-pod
        labels:
          app: cm-literal
      spec:
        containers:
          - name: cm
            image: docker.io/cjsjyh/public_test:1
            imagePullPolicy: Always
            ports:
              - containerPort: 80
            #imagePullSecrets:
            #  - name: regcred
            env:
              [my environment variables]
  
  </code></pre>
  
  <p>I applied both .yaml files</p>
  
  <p>How can I solve this?
  Thank you</p>