资源配额(ResourceQuota)功能介绍

ResourceQuota是Kubernetes中的一个准入控制插件,默认情况下已经启用。它的主要作用是限制命名空间中资源的使用量,以防止某个命名空间独占过多的集群资源。

支持的资源类型

  1. limits.cpu/memory

    • 描述:所有Pod上限资源配置总量不超过该值(所有非终止状态的Pod)。
    • 解释:限制命名空间内所有Pod的CPU和内存上限总量。
  2. requests.cpu/memory

    • 描述:所有Pod请求资源配置总量不超过该值(所有非终止状态的Pod)。
    • 解释:限制命名空间内所有Pod的CPU和内存请求总量。
  3. cpu/memory

    • 描述:等同于requests.cpu/requests.memory。
    • 解释:限制命名空间内所有Pod的CPU和内存请求总量,和requests.cpu/memory一样。
  4. requests.storage

    • 描述:所有PVC请求容量总和不超过该值。
    • 解释:限制命名空间内所有持久卷声明(PVC)的存储请求总量。
  5. persistentvolumeclaims

    • 描述:所有PVC数量总和不超过该值。
    • 解释:限制命名空间内所有持久卷声明(PVC)的数量。
  6. <storage-class-name>.storageclass.storage.k8s.io/requests.storage

    • 描述:所有与<storage-class-name>相关的PVC请求容量总和不超过该值。
    • 解释:限制特定存储类别下所有持久卷声明的存储请求总量。
  7. <storage-class-name>.storageclass.storage.k8s.io/persistentvolumeclaims

    • 描述:所有与<storage-class-name>相关的PVC数量总和不超过该值。
    • 解释:限制特定存储类别下所有持久卷声明的数量。
  8. pods, count/deployments.apps, count/statefulsets.apps, count/services, count/secrets, count/configmaps, count/job.batch, count/cronjobs.batch

    • 描述:创建资源数量不超过该值。
    • 解释:限制命名空间内Pod、Deployment、StatefulSet、Service、Secret、ConfigMap、Job、CronJob等资源的数量。

资源配额的实际应用场景

  1. 资源管理:防止单个命名空间占用过多资源,保障资源的公平分配。
  2. 成本控制:限制资源使用总量,有助于控制成本,尤其是在公有云环境中。
  3. 稳定性:防止资源过度使用导致集群不稳定。

本文由mdnice多平台发布


逼格高的汤圆
7 声望2 粉丝