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
假设我将以下限制范围设置为命名空间 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