新增说明及示例文件
This commit is contained in:
69
description/Strategy/ResourceQuotas/description-item.yml
Normal file
69
description/Strategy/ResourceQuotas/description-item.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
# 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
|
||||
80
description/Strategy/ResourceQuotas/description-list.yml
Normal file
80
description/Strategy/ResourceQuotas/description-list.yml
Normal file
@@ -0,0 +1,80 @@
|
||||
# ResourceQuota (资源配额)( List )说明,官方文档:https://v1-22.docs.kubernetes.io/zh/docs/concepts/policy/resource-quotas
|
||||
# API 版本
|
||||
apiVersion: v1
|
||||
# 资源类型
|
||||
kind: List
|
||||
# 资源详情
|
||||
items:
|
||||
## ResourceQuota 1
|
||||
### 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
|
||||
## ResourceQuota 2
|
||||
### API 版本
|
||||
- apiVersion: v1
|
||||
...
|
||||
69
description/Strategy/ResourceQuotas/description_item.yml
Normal file
69
description/Strategy/ResourceQuotas/description_item.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
# 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
|
||||
80
description/Strategy/ResourceQuotas/description_list.yml
Normal file
80
description/Strategy/ResourceQuotas/description_list.yml
Normal file
@@ -0,0 +1,80 @@
|
||||
# ResourceQuota (资源配额)( List )说明,官方文档:https://v1-22.docs.kubernetes.io/zh/docs/concepts/policy/resource-quotas/
|
||||
# API 版本
|
||||
apiVersion: v1
|
||||
# 资源类型
|
||||
kind: List
|
||||
# 资源详情
|
||||
items:
|
||||
## ResourceQuota 1
|
||||
### 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
|
||||
## ResourceQuota 2
|
||||
### API 版本
|
||||
- apiVersion: v1
|
||||
...
|
||||
24
description/Strategy/ResourceQuotas/example-item.yml
Normal file
24
description/Strategy/ResourceQuotas/example-item.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: resource-quota-example-item
|
||||
namespace: demo
|
||||
spec:
|
||||
hard:
|
||||
cpu: '64'
|
||||
memory: 256Gi
|
||||
requests.storage: 1Ti
|
||||
persistentvolumeclaims: '1000'
|
||||
resourcequotas: '100'
|
||||
configmaps: '3000'
|
||||
secrets: '3000'
|
||||
services: '100'
|
||||
services.loadbalancers: '100'
|
||||
services.nodeports: '100'
|
||||
pods: '100'
|
||||
scopeSelector:
|
||||
matchExpressions:
|
||||
- scopeName: PriorityClass
|
||||
operator: In
|
||||
values:
|
||||
- high
|
||||
69
description/Strategy/ResourceQuotas/example-list.yml
Normal file
69
description/Strategy/ResourceQuotas/example-list.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
apiVersion: v1
|
||||
kind: List
|
||||
items:
|
||||
- apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: resource-quota-example-list-high
|
||||
namespace: demo
|
||||
spec:
|
||||
hard:
|
||||
cpu: '128'
|
||||
memory: 512Gi
|
||||
requests.storage: 1Ti
|
||||
persistentvolumeclaims: '1000'
|
||||
resourcequotas: '100'
|
||||
configmaps: '1000'
|
||||
secrets: '1000'
|
||||
services: '100'
|
||||
pods: '1000'
|
||||
scopeSelector:
|
||||
matchExpressions:
|
||||
- scopeName: PriorityClass
|
||||
operator: In
|
||||
values:
|
||||
- high
|
||||
- apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: resource-quota-example-list-medium
|
||||
namespace: demo
|
||||
spec:
|
||||
hard:
|
||||
cpu: '64'
|
||||
memory: 256Gi
|
||||
requests.storage: 1Ti
|
||||
persistentvolumeclaims: '500'
|
||||
resourcequotas: '100'
|
||||
configmaps: '500'
|
||||
secrets: '500'
|
||||
services: '50'
|
||||
pods: '500'
|
||||
scopeSelector:
|
||||
matchExpressions:
|
||||
- scopeName: PriorityClass
|
||||
operator: In
|
||||
values:
|
||||
- medium
|
||||
- apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
metadata:
|
||||
name: resource-quota-example-list-low
|
||||
namespace: demo
|
||||
spec:
|
||||
hard:
|
||||
cpu: '32'
|
||||
memory: 128Gi
|
||||
requests.storage: 1Ti
|
||||
persistentvolumeclaims: '100'
|
||||
resourcequotas: '10'
|
||||
configmaps: '50'
|
||||
secrets: '50'
|
||||
services: '10'
|
||||
pods: '50'
|
||||
scopeSelector:
|
||||
matchExpressions:
|
||||
- scopeName: PriorityClass
|
||||
operator: In
|
||||
values:
|
||||
- low
|
||||
Reference in New Issue
Block a user