Why does a single node cluster only have a small percentage of the cpu quota available?

8/9/2017

pod will not start due to "No nodes are available that match all of the following predicates:: Insufficient cpu"

In the above question, I had an issue starting a deployment with 3 containers.

Upon further investigation, it appears there is only 27% of the CPU quota available - which seems very low. The rest of the CPU seems to be assigned to some default bundled containers.

How is this normally mitigated? Is a larger node required? Do limits need to be set manually? Are all those additional containers necessary?

-- Chris Stryczynski
kubernetes

1 Answer

8/9/2017

1 cpu for a single node cluster is probably too small.

From the containers in the original answer, both the dashboard and fluentd can be removed:

  • the dashboard is just a web UI, which can go away if you use kubectl (which you should, IMO);
  • fluentd should be reading the log files on disk to ship them somewhere (GCP's log aggregation, I think).

The unnecessary containers should be tied to a Deployment or ReplicaSet, which can be listed with kubectl get deployment and kubectl get rs, respectively. You can then kubectl delete them.

Increasing the resources on the node should not change the requirements for the basic pods, meaning they should all be free scheduling.

-- kewne
Source: StackOverflow