Kubernetes 限制范围覆盖

Kubernetes Limit Ranges Override

假设我将以下限制范围设置为命名空间 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 中的大多数 pods 是足够的。一些 pods 需要更多资源,但请求超过 default.memory、default.cpu 的 pod 将被拒绝。

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

在您的示例中,您没有将 memory/cpu 限制为 memory/cpu 的 minimum/maximum。您只需为创建的每个 Pod 设置“默认值”。使用给定的 LimitRange,您仍然可以在 Pod 的部署中覆盖自定义 Limits/Requests。

如果您想设置 minimum/maximum,您必须在 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