• Kubernetes Submit Queue's avatar
    Merge pull request #63415 from dashpole/eviction_event · f13fa1e3
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    Clean up kubelet eviction events
    
    **What this PR does / why we need it**:
    This makes eviction events better.  
    * Exceeding container disk limits no longer says "node was low on X", since the node isn't actually low on a resource.  The container limit was just exceeded.  Same for pods and volumes.
    * Eviction message now lists containers which were exceeding their requests.  This is an event from a container evicted while under memory pressure: 
    `reason: 'Evicted' The node was low on resource: memory. Container high-priority-memory-hog was using 166088Ki, which exceeds its request of 10Mi.`
    * Eviction messages now displays real resources, when they exist.  Rather than `The node was low on resource: nodefs`, it will now show `The node was low on resource: ephemeral-storage`.
    
    This also cleans up eviction code in order to accomplish this.  We previously had a resource for each signal: e.g. `SignalNodeFsAvailable` mapped to the resource`nodefs`, and `nodefs` maps to reclaim functions, and ranking functions.  Now, signals map directly to reclaim and ranking functions, and signals map to real resources: e.g. `SignalNodeFsAvailable` maps to the resource `ephemeral-storage`, which is what we use in events.
    This also cleans up duplicated code by reusing the `evictPod` function.  It also removes the unused signal `SignalAllocatableNodeFsAvailable`.
    
    **Release note**:
    ```release-note
    NONE
    ```
    
    /sig node
    /priority important-longterm
    
    /assign @dchen1107 @jingxu97
    f13fa1e3
Name
Last commit
Last update
..
apis Loading commit data...
cadvisor Loading commit data...
certificate Loading commit data...
checkpoint Loading commit data...
checkpointmanager Loading commit data...
client Loading commit data...
cm Loading commit data...
config Loading commit data...
configmap Loading commit data...
container Loading commit data...
custommetrics Loading commit data...
dockershim Loading commit data...
envvars Loading commit data...
events Loading commit data...
eviction Loading commit data...
images Loading commit data...
kubeletconfig Loading commit data...
kuberuntime Loading commit data...
leaky Loading commit data...
lifecycle Loading commit data...
logs Loading commit data...
metrics Loading commit data...
mountpod Loading commit data...
network Loading commit data...
pleg Loading commit data...
pod Loading commit data...
preemption Loading commit data...
prober Loading commit data...
qos Loading commit data...
remote Loading commit data...
secret Loading commit data...
server Loading commit data...
stats Loading commit data...
status Loading commit data...
sysctl Loading commit data...
types Loading commit data...
util Loading commit data...
volumemanager Loading commit data...
winstats Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
active_deadline.go Loading commit data...
active_deadline_test.go Loading commit data...
doc.go Loading commit data...
kubelet.go Loading commit data...
kubelet_getters.go Loading commit data...
kubelet_getters_test.go Loading commit data...
kubelet_network.go Loading commit data...
kubelet_network_test.go Loading commit data...
kubelet_node_status.go Loading commit data...
kubelet_node_status_test.go Loading commit data...
kubelet_pods.go Loading commit data...
kubelet_pods_test.go Loading commit data...
kubelet_pods_windows_test.go Loading commit data...
kubelet_resources.go Loading commit data...
kubelet_resources_test.go Loading commit data...
kubelet_test.go Loading commit data...
kubelet_volumes.go Loading commit data...
kubelet_volumes_test.go Loading commit data...
oom_watcher.go Loading commit data...
oom_watcher_test.go Loading commit data...
pod_container_deletor.go Loading commit data...
pod_container_deletor_test.go Loading commit data...
pod_workers.go Loading commit data...
pod_workers_test.go Loading commit data...
reason_cache.go Loading commit data...
reason_cache_test.go Loading commit data...
runonce.go Loading commit data...
runonce_test.go Loading commit data...
runtime.go Loading commit data...
util.go Loading commit data...
volume_host.go Loading commit data...