How does Kubernetes schedule deployments that don't define memory or cpu request/limit?
i.e. spec.containers[].resources is missing from the deployment.
When calling kubectl describe node node_name
on a node running such pod the resources section displays the following:
Name CPU Requests CPU Limits Memory Requests Memory Limits
Pod_Name 0 (0%) 0 (0%) 0 (0%) 0 (0%)
What does it mean?
I couldn't find any documentation.
Some Helm chart default configuration are missing the resources section and I don't know what is the effect.
If a container requests
a resource, Kubernetes will only schedule it on a node that can give it that resource. Limits
, on the other hand, make sure a container never goes above a certain value. The container is only allowed to go up to the limit
, and then it is restricted.
Without any mention of requests
and limits
a pod can get scheduled to a node which does not have resources to satisfy's the pods need and the pod can get killed when no more resource is available in the node.
The output is showing 0
because there is no requests
and limits
in the deployment yaml.