首页 > 解决方案 > Kubernetes 限制范围覆盖

问题描述

假设我将以下限制范围设置为命名空间 X:

apiVersion: v1
kind: LimitRange
metadata:
  name: limit-range
spec:
  limits:
  - default:
     memory: 1Gi
     cpu: 0.5
    defaultRequest:
     memory: 256Mi
     cpu: 0.2
    type: Container

这些限制对于命名空间 X 中的大多数 pod 来说已经足够了。一些 pod 需要更多资源,但是请求超过 default.memory、default.cpu 的 pod 将被拒绝。

我的问题是,是否有任何方法(在清单中或其他方式)来覆盖这些限制,以便 pod 可以请求超过为命名空间设置的限制?我知道这有点超出限制范围的目的,但我仍然想知道是否有办法做到这一点。

标签: kuberneteskubernetes-pod

解决方案


在您的示例中,您不会将内存/cpu 限制为内存/cpu 的最小/最大值。您只需为每个创建的 Pod 设置“默认值”。使用给定的 LimitRange,您仍然可以在 Pod 的部署中覆盖自定义限制/请求。

如果你想设置一个最小值/最大值,你必须在你的 LimitRange 中添加这样的东西:

apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-min-max-demo-lr
spec:
  limits:
  - max:
      cpu: "800m"
    min:
      cpu: "200m"
    type: Container

https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/#create-a-limitrange-and-a-pod


推荐阅读