When a pod is created in Kubernetes, it is also assigned a Quality of Service class, based on the data provided about the pod when it was requested. This is used by the scheduler to provide some upfront assurances during the scheduling process, and later in the management of the pods themselves. The three classes supported are:
- Guaranteed
- Burstable
- BestEffort
Which class is assigned to your pod is based on what resource limits and requests you report with the containers within your pod for CPU and memory utilization. In the previous examples, none of the containers were assigned a requests or limit, so all of those pods were classified as BestEffort when they were run.
Resource requests and limits are defined on each container within a pod. If we add a request to a container, we are asking for Kubernetes to make sure that the...