k3s/pkg/kubelet
k8s-merge-robot 821ff657f9 Merge pull request #27199 from derekwaynecarr/disk_eviction
Automatic merge from submit-queue

Initial support for pod eviction based on disk

This PR adds the following:

1. node reports disk pressure condition based on configured thresholds
1. scheduler does not place pods on nodes reporting disk pressure
1. kubelet will not admit any pod when it reports disk pressure
1. kubelet ranks pods for eviction when low on disk
1. kubelet evicts greediest pod

Follow-on PRs will need to handle:

1. integrate with new image gc PR (https://github.com/kubernetes/kubernetes/pull/27199)
1. container gc policy should always run (will not be launched from eviction, tbd who does that)
  1. this means kill pod is fine for all eviction code paths since container gc will remove dead container
1. min reclaim support will just poll summary provider (derek will do follow-on)
1. need to know if imagefs is same device as rootfs from summary (derek follow-on)

/cc @vishh @kubernetes/sig-node
2016-07-28 20:18:54 -07:00
..
api/v1alpha1 CRI: add LinuxUser to LinuxContainerConfig 2016-07-15 22:17:41 +02:00
cadvisor Remove duplicate prometheus metrics 2016-07-20 16:00:21 +01:00
client Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
cm Make volume unmount more robust using exclusive mount w/ O_EXCL 2016-07-18 16:20:08 -07:00
config Merge pull request #28865 from ronnielai/image-gc-0 2016-07-18 22:54:03 -07:00
container Merge pull request #29553 from yujuhong/docker-shim 2016-07-28 17:58:56 -07:00
custommetrics Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
dockershim Add a dockershim package 2016-07-27 18:30:25 -07:00
dockertools Merge pull request #29553 from yujuhong/docker-shim 2016-07-28 17:58:56 -07:00
envvars Use Go canonical import paths 2016-07-16 13:48:21 -04:00
events Moving event.go from kubelet/container to kubelet/events 2016-07-12 17:42:29 -07:00
eviction Allow cAdvisor to collect fs stats before building resource ranking funcs 2016-07-28 16:20:09 -04:00
images Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
leaky Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
lifecycle Use Go canonical import paths 2016-07-16 13:48:21 -04:00
metrics Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
network periodically reload the cni plugin config 2016-07-27 10:07:52 -07:00
pleg Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
pod kubelet: delete unused pod manager method 2016-07-08 15:15:54 -07:00
prober Merge pull request #28865 from ronnielai/image-gc-0 2016-07-18 22:54:03 -07:00
qos Use Go canonical import paths 2016-07-16 13:48:21 -04:00
rkt Merge pull request #29388 from ronnielai/image-gc-check 2016-07-27 16:44:50 -07:00
server Merge pull request #28281 from nhlfr/authorize-return-bool 2016-07-18 21:40:26 -07:00
status Move ActiveDeadlineSeconds to use lifecycle observers 2016-07-07 13:43:55 -04:00
types Use Go canonical import paths 2016-07-16 13:48:21 -04:00
util Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
volumemanager Fix collisions issues / timeouts for mounts 2016-07-27 17:53:50 -04:00
OWNERS
active_deadline.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
active_deadline_test.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
container_bridge.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
disk_manager.go Revert "Declare out of disk when there is no free inodes" 2016-07-06 08:19:09 -07:00
disk_manager_test.go Revert "Declare out of disk when there is no free inodes" 2016-07-06 08:19:09 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
flannel_helper.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
image_manager.go Avoiding trying to gc images with no tags which are still in use 2016-07-27 10:31:47 -07:00
image_manager_test.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
kubelet.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
kubelet_cadvisor.go Eviction manager needs to start as runtime dependent module 2016-07-22 10:19:40 -04:00
kubelet_cadvisor_test.go Eviction manager needs to start as runtime dependent module 2016-07-22 10:19:40 -04:00
kubelet_getters.go Remove pod mutation for PVs with supplemental GIDs 2016-07-22 17:41:44 -04:00
kubelet_getters_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kubelet_network.go Extract kubelet network code into its own file 2016-07-08 15:18:07 -04:00
kubelet_network_test.go Extract kubelet network code into its own file 2016-07-08 15:18:07 -04:00
kubelet_node_status.go Eviction manager observes and acts on disk pressure 2016-07-28 16:01:38 -04:00
kubelet_node_status_test.go Eviction manager observes and acts on disk pressure 2016-07-28 16:01:38 -04:00
kubelet_resources.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kubelet_resources_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kubelet_test.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
kubelet_volumes.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
networks.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
oom_watcher.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
oom_watcher_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
pod_workers.go Moving event.go from kubelet/container to kubelet/events 2016-07-12 17:42:29 -07:00
pod_workers_test.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
reason_cache.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
reason_cache_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
root_context_linux.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
root_context_unsupported.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
runonce.go Optimizing the processing flow of HandlePodAdditions and canAdmitPod methods. 2016-07-11 10:34:51 +08:00
runonce_test.go Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
runtime.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util.go Extract kubelet node status into separate file 2016-07-22 01:21:30 -04:00
volume_host.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00