<p>I want to reduce the <code>DiskPressure</code> limit. After reading <a href="https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/" rel="nofollow noreferrer">Kubernetes documentation</a> (also on <a href="https://github.com/kubernetes/kubernetes/issues/66961" rel="nofollow noreferrer">this GitHub case</a>), I understand that because of <code>nodefs.available&lt;10%</code> I must have my volume free space more than 10%.</p>
<p>I want to change it to 5% but I don't understand how.</p>
<p>I read <a href="https://stackoverflow.com/a/42722519/2153777">here</a> and in the <a href="https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#node-conditions" rel="nofollow noreferrer">node condition by Kubernetes</a>, they mention these flag <code>--eviction-hard</code> or <code>eviction-soft</code> that might be the solution but where should I changed them?</p>
<p>I am using Kubelet config file on the worker node:</p>
<pre><code>root@worker:/# cat /var/lib/kubelet/config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: true
  webhook:
    cacheTTL: 0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: AlwaysAllow
  #mode: Webhook
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s
readOnlyPort: 10255
clusterDNS:
- 10.96.0.10
clusterDomain: cluster.local
cpuManagerReconcilePeriod: 0s
evictionPressureTransitionPeriod: 0s
fileCheckFrequency: 0s
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kind: KubeletConfiguration
nodeStatusReportFrequency: 0s
nodeStatusUpdateFrequency: 0s
rotateCertificates: true
runtimeRequestTimeout: 0s
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s  
</code></pre>
<p>I don't understand what I should change. Most of these settings are seconds (<code>0s</code>).<br />
How can I reduce the threshold?</p>

E235
<p>This used to be kubelet command line arg.<br />
<a href="https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/" rel="nofollow noreferrer">https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/</a></p>
<blockquote>
<p><code>--eviction-hard mapStringString</code><br />
A set of eviction thresholds (e.g. <code>memory.available&lt;1Gi</code>) that if met
would trigger a pod eviction.</p>
<p>DEPRECATED:<br />
This parameter should be
set via the config file specified by the Kubelet's <code>--config</code> flag.<br />
See
<a href="https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/" rel="nofollow noreferrer">https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/</a>
for more information.</p>
</blockquote>
<p>Now it should be specified thru kubelet config file - you were on the right way :)<br />
Just add required entries to your config.</p>
<pre><code>evictionHard:
  nodefs.available: 5%
</code></pre>
<p>Config schema.<br />
<a href="https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/kubelet/config/v1beta1/types.go#L571" rel="nofollow noreferrer">https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/kubelet/config/v1beta1/types.go#L571</a></p>
