Kubectl insufficient resource allocation in aws cluster

3/8/2019

I am new to Kubernetes and I am facing a problem that I do not understand. I created a 4-node cluster in aws, 1 manager node (t2.medium) and 3 normal nodes (c4.xlarge) and they were successfully joined together using Kubeadm.

Then I tried to deploy three Cassandra replicas using this yaml but the pod state does not leave the pending state; when I do:

kubectl describe pods cassandra-0

I get the message

0/4 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 3 Insufficient memory.

And I do not understand why, as the machines should be powerful enough to cope with these pods and I haven't deployed any other pods. I am not sure if this means anything but when I execute:

kubectl describe nodes

I see this message:

Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)

Therefore my question is why this is happening and how can I fix it.

Thank you for your attention

-- João Matos
amazon-web-services
cassandra
kubectl
kubernetes

1 Answer

3/8/2019

Each node tracks the total amount of requested RAM (resources.requests.memory) for all pods assigned to it. That cannot exceed the total capacity of the machine. I would triple check that you have no other pods. You should see them on kubectl describe node.

-- coderanger
Source: StackOverflow