Pod Overhead

2020-01-29

Pod Overhead

FEATURE STATE: Kubernetes v1.16 alpha
This feature is currently in a alpha state, meaning:

  • The version names contain alpha (e.g. v1alpha1).
  • Might be buggy. Enabling the feature may expose bugs. Disabled by default.
  • Support for feature may be dropped at any time without notice.
  • The API may change in incompatible ways in a later software release without notice.
  • Recommended for use only in short-lived testing clusters, due to increased risk of bugs and lack of long-term support.

When you run a Pod on a Node, the Pod itself takes an amount of system resources. These resources are additional to the resources needed to run the container(s) inside the Pod. Pod Overhead is a feature for accounting for the resources consumed by the pod infrastructure on top of the container requests & limits.

Pod Overhead

In Kubernetes, the pod’s overhead is set at admission time according to the overhead associated with the pod’s RuntimeClass.

When Pod Overhead is enabled, the overhead is considered in addition to the sum of container resource requests when scheduling a pod. Similarly, Kubelet will include the pod overhead when sizing the pod cgroup, and when carrying out pod eviction ranking.

Set Up

You need to make sure that the PodOverhead feature gate is enabled (it is off by default) across your cluster. This means:

Note: Users who can write to RuntimeClass resources are able to have cluster-wide impact on workload performance. You can limit access to this ability using Kubernetes access controls. See Authorization Overview for more details.