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: ''
|
||
### 在该命名空间中,所有非终止状态的 Pod,其内存限额总量不能超过该值
|
||
limits.memory:
|
||
### 在该命名空间中,所有 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
|