有没有办法对PV/PVC进行硬限制?例如;
据我了解,如果节点的空闲存储可用,Pod 1 可以写入超过 10 Gi。如何硬限制 pod 1 使用的 PVC 容量不超过 10 Gi?我同意如果 pod 1 尝试写入超过 10 Gi,它将被驱逐。
注1:我知道我可以将ResourceQuota硬请求存储,但它限制了pvc,而不是实际大小。
注 2:我知道我可以使用
spec.containers[0].resources.limits.ephemeral-storage: 10Gi
硬限制临时大小,但这是临时存储,如果重新启动 Pod,它就会被删除。我想限制持久量
可能的相关问题:
正如 @ AndD 提到的,如果您使用的是 Rancher local-path-provisioner 那么它不支持卷容量限制。
因为没有直接的方法来硬限制 pod 在 Kubernetes 中的存储空间。您可以尝试解决方法如果您可以驱逐 Pod,那么您可以尝试使用 sidecar 容器 来监视 Pod 并在存储过度使用时驱逐。但为此,您可能需要根据您的要求编写 sidecar 容器的脚本。
另一种方法是您可以尝试使用准入控制器,它有助于强制执行策略来限制 PVC 使用量的大小,但它更复杂,因为它需要创建一个自定义脚本来监视并在使用量达到其使用量时驱逐 pod。限制。
另一个是你可能已经知道 kubernetes 资源配额的使用,但这种方法将适用于命名空间级别。
它可以按类型限制命名空间中可以创建的对象数量,以及该命名空间中的资源可能消耗的计算资源总量。