kubernetes - 如何降低节点的 DiskPressure 条件阈值
问题描述
我想减少DiskPressure
限制。在阅读了 Kubernetes 文档(也在这个 GitHub 案例上)之后,我明白因为nodefs.available<10%
我的卷可用空间必须超过 10%。
我想将其更改为 5%,但我不明白如何。
我在这里和Kubernetes 的节点条件中阅读,他们提到了这些标志,--eviction-hard
或者eviction-soft
这可能是解决方案,但我应该在哪里更改它们?
我在工作节点上使用 Kubelet 配置文件:
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
我不明白我应该改变什么。这些设置中的大多数都是秒 ( 0s
)。
如何降低门槛?
解决方案
这曾经是 kubelet 命令行参数。
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
--eviction-hard mapStringString
一组驱逐阈值(例如memory.available<1Gi
),如果满足将触发 pod 驱逐。已弃用:
此参数应通过 Kubelet--config
标志指定的配置文件进行设置。
有关更多信息,请参阅 https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ 。
现在应该通过 kubelet 配置文件指定它 - 你是在正确的方式 :)
只需将所需的条目添加到您的配置中。
evictionHard:
nodefs.available: 5%
推荐阅读
- javascript - 正则表达式查看字符串是整数还是分数
- javascript - QML中矩形上的两种不同阴影
- javascript - 在数字输入上使用按钮不会更新第一个输入
- ios - 将 ipa 文件上传到 Testflight 时 iOS Fastlane 构建失败
- java - JPA,Hibernate:子类的字段为空,@MappedSuperclass 和 InheritanceType.JOINED 策略
- c# - 数据未在 Linq 中排序
- ios - 我没有看到创建新 iOS 分发证书的选项
- vue.js - VueJS:如何使嵌套的路由器视图始终呈现其路由之一?
- azure - 术语“Register-AzResourceProvider”未被识别为 cmdlet 的名称
- db2 - 按依赖顺序部署 DB2 用户定义函数