70 lines
3.5 KiB
YAML
70 lines
3.5 KiB
YAML
|
# ResourceQuota (资源配额)说明,官方文档:https://v1-22.docs.kubernetes.io/zh/docs/concepts/policy/resource-quotas
|
|||
|
# API 版本
|
|||
|
apiVersion: v1
|
|||
|
# 资源类型
|
|||
|
kind: ResourceQuota
|
|||
|
# 元数据
|
|||
|
metadata:
|
|||
|
## 名称
|
|||
|
name: 此 ResourceQuota 的名称
|
|||
|
## 命名空间
|
|||
|
namespace: 此 ResourceQuota 所属的命名空间
|
|||
|
# 数据
|
|||
|
spec:
|
|||
|
## 配额
|
|||
|
hard:
|
|||
|
### 在该命名空间中,所有非终止状态的 Pod,其 CPU 需求总量不能超过该值
|
|||
|
cpu: '1000'
|
|||
|
### 在该命名空间中,所有非终止状态的 Pod,其内存需求总量不能超过该值
|
|||
|
memory: 200Gi
|
|||
|
### 在该命名空间中,所有非终止状态的 Pod,其 CPU 限额总量不能超过该值
|
|||
|
limits.cpu: '1000'
|
|||
|
### 在该命名空间中,所有非终止状态的 Pod,其内存限额总量不能超过该值
|
|||
|
limits.memory: 200Gi
|
|||
|
### 在该命名空间中,所有 PVC,存储资源的需求总量不能超过该值
|
|||
|
requests.storage: 1Ti
|
|||
|
### 在该命名空间中,对于 <storage-class-name> 类型的 PVC,存储资源的需求总量不能超过该值
|
|||
|
<storage-class-name>.storageclass.storage.k8s.io/requests.storage: 300Gi
|
|||
|
### 在该命名空间中,允许的 PVC 总量
|
|||
|
persistentvolumeclaims: '1000'
|
|||
|
### 在该命名空间中,允许的 <storage-class-name> 类型的 PVC 总量
|
|||
|
<storage-class-name>.storageclass.storage.k8s.io/persistentvolumeclaims: '300'
|
|||
|
### 在该命名空间中,允许存在的 ReplicationController 总数上限
|
|||
|
replicationcontrollers: '1000'
|
|||
|
### 在该命名空间中,允许存在的 ResourceQuota 总数上限
|
|||
|
resourcequotas: '100'
|
|||
|
### 在该命名空间中,允许存在的 ConfigMap 总数上限
|
|||
|
configmaps: '1000'
|
|||
|
### 在该命名空间中,允许存在的 Secret 总数上限
|
|||
|
secrets: '1000'
|
|||
|
### 在该命名空间中,允许存在的 Service 总数上限
|
|||
|
services: '100'
|
|||
|
### 在该命名空间中,允许存在的 LoadBalancer 类型的 Service 总数上限
|
|||
|
services.loadbalancers: '100'
|
|||
|
### 在该命名空间中,允许存在的 NodePort 类型的 Service 总数上限
|
|||
|
services.nodeports: '100'
|
|||
|
### 在该命名空间中,允许存在的非终止状态的 Pod 总数上限
|
|||
|
pods: '100'
|
|||
|
## 配额作用域
|
|||
|
scopeSelector:
|
|||
|
matchExpressions:
|
|||
|
### 匹配所有引用了所指定的优先级类的 Pods【 operator 可选:In(包含)、NotIn(不包含)、Exists(存在)、DoesNotExist(不存在);values 可选:low、medium、high】
|
|||
|
- scopeName: PriorityClass
|
|||
|
operator: In
|
|||
|
values:
|
|||
|
- high
|
|||
|
### 匹配所有 spec.activeDeadlineSeconds 不小于 0 的 Pod(不能和 NotTerminating 同时存在)【 operator 必须为 Exists,不能设置 values 】
|
|||
|
- scopeName: Terminating
|
|||
|
operator: Exists
|
|||
|
### 匹配所有 spec.activeDeadlineSeconds 是 nil 的 Pod(不能和 Terminating 同时存在)【 operator 必须为 Exists,不能设置 values 】
|
|||
|
- scopeName: NotTerminating
|
|||
|
operator: Exists
|
|||
|
### 匹配所有 Qos 是 BestEffort 的 Pod(不能和 NotBestEffort 同时存在)【 operator 必须为 Exists,不能设置 values 】
|
|||
|
- scopeName: BestEffort
|
|||
|
operator: Exists
|
|||
|
### 匹配所有 Qos 不是 BestEffort 的 Pod(不能和 BestEffort 同时存在)【 operator 必须为 Exists,不能设置 values 】
|
|||
|
- scopeName: NotBestEffort
|
|||
|
operator: Exists
|
|||
|
### 匹配那些设置了跨名字空间 (反)亲和性条件的 Pod
|
|||
|
- scopeName: CrossNamespaceAffinity
|