下面展示一个限制 Pod 的 CPU 和内存资源总量限制的 YAML 描述文件,在该文件中,它限制 default 命名空间中的所有的 CPU 和 内存 资源的申请总量分别为 400m 和 200MB,而限制总量则分别为 600m 和 500MB:
apiVersion:v1kind:ResourceQuota # 资源类型为 ResourceQuotametadata:namespace:default # 在 default 命名空间中起效name:cpu-and-memspec:hard:requests.cpu:400m # 所有 Pod 可以申请的 CPU 总量requests.memory:200Mi # 所有 Pod 可以申请的内存总量limits.cpu:600m # 所有 Pod 可以限制的 CPU 总量limits.memory:500Mi # 所有 Pod 可以限制的内存总量
PVC 可申请的存储总量限制
Pod 可以通过请求挂载 PVC 的方式实现动态存储分配,PVC 会通过 StorageClass 获取底层存储,StorageClass 会与底层的存储驱动挂钩,分配相应的存储空间。
因此 Kubernetes 在提供限制 Pod 可申请的存储总量的基础上,还实现了对 StorageClass 能够从底层存储驱动中申请的存储量的限制,便于更细粒度的进行限制。
下面展示一个限制 Pod 可申请的存储总量以及 StorageClass 可申请的存储量的限制 YAML 描述文件,限制了 Pod 能够申请的存储总量为 500GB,名为 ssd 的 StorageClass 总共可以从底层申请最多 300GB,名为 standard 的 StorageClass 总共可以从底层申请最多 1TB: