LimitRange 校验资源申请和限制量
Kubernetes 提供了 LimitRange 资源,用来校验 Pod 中的资源申请量以及限制量,包括 设置默认值 以及 校验是否在指定范围内:
设置默认值:避免必须为每个容器都配置
requests
和limits
;校验范围:阻止用户创建大于宿主机资源量的 Pod;
LimitRange 资源被 API 服务器中的 LimitRanger 准入控制插件加载,当 API 服务器收到 Pod 的请求时,会对其规格进行校验,如果校验失败就拒绝请求。(该准入插件默认开启)
LimitRange 是 命名空间级别 的资源,因此其只能应用于 同一个命名空间中 每个独立的 Pod、容器或者其他类型的对象。
创建 LimitRange
可以通过 YAML 描述文件创建 LimitRange 对象。下面展示一个创建案例,该案例中分别针对 Pod、容器以及 PVC 三类资源进行校验:
假设存在某种情况,同一个命名空间中创建了多个 LimitRange 对象,则:
若各 LimitRange 对象 无交集,则无论怎样定义资源的申请量和限制量,都是不会创建成功的;
若各 LimitRange 对象 有交集,则仅当资源的申请量和限制量在交集范围内,才会创建成功;
因此通常情况下,同一个用户在同一个命名空间中创建一条 LimitRange 资源即可,没有必要创建多条,给自己找麻烦。
Last updated
Was this helpful?