k3s/pkg
Kubernetes Submit Queue 3fdf6c3d14 Merge pull request #45896 from dashpole/disk_pressure_reclaim
Automatic merge from submit-queue

Delete all dead containers and sandboxes when under disk pressure.

This PR modifies the eviction manager to add dead container and sandbox garbage collection as a resource reclaim function for disk.  It also modifies the container GC logic to allow pods that are terminated, but not deleted to be removed.

It still does not delete containers that are less than the minGcAge.  This should prevent nodes from entering a permanently bad state if the entire disk is occupied by pods that are terminated (in the state failed, or succeeded), but not deleted.

There are two improvements we should consider making in the future:

- Track the disk space and inodes reclaimed by deleting containers.  We currently do not track this, and it prevents us from determining if deleting containers resolves disk pressure.  So we may still evict a pod even if we are able to free disk space by deleting dead containers.
- Once we can track disk space and inodes reclaimed, we should consider only deleting the containers we need to in order to relieve disk pressure.  This should help avoid a scenario where we try and delete a massive number of containers all at once, and overwhelm the runtime.

/assign @vishh 
cc @derekwaynecarr 

```release-note
Disk Pressure triggers the deletion of terminated containers on the node.
```
2017-06-03 23:43:46 -07:00
..
api Merge pull request #46264 from Q-Lee/annotate 2017-06-03 21:16:43 -07:00
apimachinery/tests
apis Autogen: run hack/update-all.sh 2017-06-03 00:43:53 -07:00
auth Add NodeIdentifier interface and default implementation 2017-05-18 16:43:41 -04:00
bootstrap/api
capabilities
client Implement DaemonSet history logic in controller 2017-06-03 00:44:23 -07:00
cloudprovider Merge pull request #45500 from nbutton23/nbutton-aws-elb-security-group 2017-06-03 08:08:40 -07:00
controller Merge pull request #46681 from zhangxiaoyu-zidif/format-for-cronjob_controller 2017-06-03 21:16:39 -07:00
conversion
credentialprovider
features Rotate kubelet client certificate. 2017-06-01 09:29:42 -07:00
fieldpath
fields
generated Merge pull request #46339 from xilabao/fix-kubectl 2017-06-03 12:32:39 -07:00
hyperkube
kubeapiserver Merge pull request #46388 from lavalamp/whitlockjc-generic-webhook-admission 2017-06-02 23:37:42 -07:00
kubectl Merge pull request #46758 from zhangxiaoyu-zidif/delete-unused-code 2017-06-03 22:11:01 -07:00
kubelet Merge pull request #45896 from dashpole/disk_pressure_reclaim 2017-06-03 23:43:46 -07:00
kubemark Group container-runtime-specific flags/options together 2017-05-30 08:10:39 -07:00
labels
master Merge pull request #46036 from deads2k/server-25-retry 2017-06-03 08:08:44 -07:00
metrics
printers Merge pull request #46627 from deads2k/api-12-labels 2017-06-02 23:37:38 -07:00
probe Extend Iptables interface with SaveInto 2017-05-19 20:44:25 +02:00
proxy Proxy: comments around ClusterCIDR use 2017-06-01 12:36:31 -07:00
quota Moved qos to api.helpers. 2017-05-20 07:17:57 -04:00
registry Merge pull request #46716 from thockin/proxy-comments 2017-06-03 15:57:17 -07:00
routes
runtime
security Added host path whitelist to psp 2017-05-29 13:03:25 -04:00
securitycontext
serviceaccount
ssh
types
util move labels to components which own the APIs 2017-05-31 10:32:06 -04:00
version
volume Merge pull request #46627 from deads2k/api-12-labels 2017-06-02 23:37:38 -07:00
watch
BUILD Regenerate files 2017-05-28 10:11:02 -04:00
OWNERS