新增说明及示例文件

This commit is contained in:
2023-12-15 16:39:01 +08:00
committed by huty
parent 823b19c3f0
commit 3445c145aa
71 changed files with 4048 additions and 0 deletions

View 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

View 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
...

View 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

View 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
...

View 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

View 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