我有一个Pod,有时会在短时间内超出磁盘资源限制。然后,pod被驱逐。是否有方法允许pod超出资源限制,例如30秒
pxq42qpu1#
是的,如果违反sizeLimit,您的Pod将被驱逐(Kubernetes将终止您的容器并安排更换Pod)。如果Pod运行的节点有足够的可用资源,那么容器可能会使用比其请求指定的资源更多的资源。但是,不允许容器使用超过其资源限制的资源。正如大卫迷宫所建议的,节点具有本地临时存储。您可以在LimitRange上提供默认的临时存储请求和限制。LimitRange是一种策略,用于约束命名空间中的资源分配(到Pod或Containers)。要使资源配额在临时存储上起作用,需要做两件事:
kubelet可以测量它使用了多少本地存储。如果您使用支持的本地临时存储配置之一(单个或两个文件系统)设置了节点,则会执行此操作。如果您具有不同的配置,则kubelet不会为临时本地存储应用资源限制。如果用户没有在Pod规范中指定临时存储资源限制,则不会在临时存储上强制执行资源配额。Kubernetes允许您跟踪,保留和限制Pod可以使用的临时本地存储量。如果Pod使用的临时存储量超过您允许的量,则kubelet会设置一个驱逐信号,触发Pod驱逐。范例:
kubelet
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx resources: requests: ephemeral-storage: "2Gi" limits: ephemeral-storage: "4Gi"
您可以参考如何调度具有临时存储请求的Pod。
1条答案
按热度按时间pxq42qpu1#
是的,如果违反sizeLimit,您的Pod将被驱逐(Kubernetes将终止您的容器并安排更换Pod)。如果Pod运行的节点有足够的可用资源,那么容器可能会使用比其请求指定的资源更多的资源。但是,不允许容器使用超过其资源限制的资源。
正如大卫迷宫所建议的,节点具有本地临时存储。您可以在LimitRange上提供默认的临时存储请求和限制。LimitRange是一种策略,用于约束命名空间中的资源分配(到Pod或Containers)。
要使资源配额在临时存储上起作用,需要做两件事:
kubelet
可以测量它使用了多少本地存储。如果您使用支持的本地临时存储配置之一(单个或两个文件系统)设置了节点,则会执行此操作。如果您具有不同的配置,则kubelet不会为临时本地存储应用资源限制。如果用户没有在Pod规范中指定临时存储资源限制,则不会在临时存储上强制执行资源配额。
Kubernetes允许您跟踪,保留和限制Pod可以使用的临时本地存储量。如果Pod使用的临时存储量超过您允许的量,则kubelet会设置一个驱逐信号,触发Pod驱逐。
范例:
您可以参考如何调度具有临时存储请求的Pod。