【K8s任务】为命名空间配置默认的 CPU 请求和限制
参考:https://kubernetes.io/zh/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/
创建 LimitRange
apiVersion: v1
kind: LimitRange
metadata:
name: cpu-limit-range
spec:
limits:
- default:
cpu: 1
defaultRequest:
cpu: 0.5
type: Container
现在如果命名空间创建一个容器,该容器没有声明自己的 CPU 请求和限制时, 将会给它指定默认的 CPU 请求0.5和默认的 CPU 限制值1.
你只声明容器的限制,而不声明请求会怎么样?
容器的 CPU 请求和 CPU 限制设置相同。
你只声明容器的请求,而不声明它的限制会怎么样?
容器的 CPU 请求被设置为容器配置文件中声明的数值。 容器的CPU限制被设置为 1 CPU,即该命名空间的默认 CPU 限制值。
默认 CPU 限制和请求的动机
如果你的命名空间有一个 资源配额, 那么有一个默认的 CPU 限制是有帮助的。这里有资源配额强加给命名空间的两条限制:
- 命名空间中运行的每个容器必须有自己的 CPU 限制。
- 命名空间中所有容器使用的 CPU 总和不能超过一个声明值。
如果容器没有声明自己的 CPU 限制,将会给它一个默认限制,这样它就能被允许运行在一个有配额限制的命名空间中。