Search code examples
kuberneteskubernetes-podamazon-eksamazon-ecr

AWS EKS 0/1 nodes are available. 1 insufficient pods


We are trying to deploy a dot net core API service to amazon EKS using ECR. The deployment was successful, but the pods are in pending status. Below are the detailed steps we followed.

Steps followed. 1. Created a docker image 2. Pushed the image to ECR. The image is now visible in aws console also. // The image looks good, I was able to run it using my docker locally.

  1. Created a t2-micro cluster as below eksctl create cluster --name net-core-prod --version 1.14 --region us-west-2 --nodegroup-name standard-workers --node-type t2.micro --nodes 1 --nodes-min 1 --nodes-max 1 –managed // Cluster and Node groups were created successfully. // IAM roles also got created

  2. Deployed a replication controller using the attached json/yaml//net-app.json enter image description here

  3. Deployed the service using the attached json/yaml //net-app-scv.json enter image description here
  4. The get all command returned this. //get_all.png get all POD always remains in PENDING status.

  5. Pod describe gave the below result //describe_pod.png describe pod

  6. We have also tried adding policy to the cluster IAM role to include ECR permissions attached. //ECR_policy.json

Key points:
1. We are using a t2-micro instance cluster since it’s a AWS free account.
2. We created a linux cluster and tried to push the dotnet core app. //this worked fine in our local machine
3. The cluster had only 1 node //-nodes 1 --nodes-min 1 --nodes-max 1

Can somebody please guide us on how to set up this correctly.


Solution

  • Update : I tried increasing the node count to 6 and it is working now.

    4 kube-system pods were already scheduled and so give it a try increasing it to 6.

    I am not good at Kubes, its just a trial and error result.

    It will be really useful, if someone experienced can throw some light on how this works.