kubernetes 允许违反资源限制一段时间

ctzwtxfj  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(100)

我有一个Pod,有时会在短时间内超出磁盘资源限制。然后,pod被驱逐。是否有方法允许pod超出资源限制,例如30秒

pxq42qpu

pxq42qpu1#

是的,如果违反sizeLimit,您的Pod将被驱逐(Kubernetes将终止您的容器并安排更换Pod)。如果Pod运行的节点有足够的可用资源,那么容器可能会使用比其请求指定的资源更多的资源。但是,不允许容器使用超过其资源限制的资源。
正如大卫迷宫所建议的,节点具有本地临时存储。您可以在LimitRange上提供默认的临时存储请求和限制。LimitRange是一种策略,用于约束命名空间中的资源分配(到Pod或Containers)。
要使资源配额在临时存储上起作用,需要做两件事:

  • 管理员为名称空间中的临时存储设置资源配额。
  • 用户需要在Pod规范中指定临时存储资源的限制。

kubelet可以测量它使用了多少本地存储。如果您使用支持的本地临时存储配置之一(单个或两个文件系统)设置了节点,则会执行此操作。如果您具有不同的配置,则kubelet不会为临时本地存储应用资源限制。
如果用户没有在Pod规范中指定临时存储资源限制,则不会在临时存储上强制执行资源配额。
Kubernetes允许您跟踪,保留和限制Pod可以使用的临时本地存储量。如果Pod使用的临时存储量超过您允许的量,则kubelet会设置一个驱逐信号,触发Pod驱逐。
范例:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    resources:
      requests:
        ephemeral-storage: "2Gi"
      limits:
        ephemeral-storage: "4Gi"

您可以参考如何调度具有临时存储请求的Pod。

相关问题