创建错误:pods 被禁止:<pod> 配额失败:<namespace>:必须指定 limits.memory
Error creating: pods is forbidden:<pod> failed quota: <namespace>: must specify limits.memory
我创建了两个部署 (部署发生在 kubenetes 操作员身上,还有其他活动,如服务创建、秘密创建等,虽然我觉得它们与此错误无关) 并期望 pods 出现,但 pods 出现了。
当我检查事件时,我发现 pods(我列出一个)
都存在以下错误
60m Warning FailedCreate replicaset/sast-edge-5577bdcf6c Error creating: pods "sas-edge-5577bdcf6c-94ps9" is forbidden: failed quota: app-xxxx-stable-biw9247u7z: must specify limits.memory
当我描述 pod 时,我看到已经指定了限制
image: registry.xxx.xxxx.com/xxkl/xxx-xxxx:1.4
imagePullPolicy: IfNotPresent
name: nsc-core
ports:
- containerPort: 3000
protocol: TCP
resources:
limits:
memory: 500Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
我也检查了 NS 的配额
Name: app-xxxx-stable-biw9247u7z
Namespace: app-xxxx-stable-biw9247u7z
Resource Used Hard
-------- ---- ----
limits.memory 4072Mi 8Gi
我不确定为什么kubernetes不是指定的资源限制。需要帮助。
Forbidden Failed quota
当 pod 中的任何容器在规范中没有 limits
和 requests
并且也包括初始化容器时,就会出现错误。将 limits
和 requests
添加到所有容器应该可以解决错误。
在规范部分添加类似这样的内容
containers:
- name: nsc-core
image: registry.xxx.xxxx.com/xxkl/xxx-xxxx:1.4
resources:
limits:
cpu: "2"
memory: 2000Mi
requests:
cpu: "1"
memory: 1500Mi
我创建了两个部署 (部署发生在 kubenetes 操作员身上,还有其他活动,如服务创建、秘密创建等,虽然我觉得它们与此错误无关) 并期望 pods 出现,但 pods 出现了。 当我检查事件时,我发现 pods(我列出一个)
都存在以下错误60m Warning FailedCreate replicaset/sast-edge-5577bdcf6c Error creating: pods "sas-edge-5577bdcf6c-94ps9" is forbidden: failed quota: app-xxxx-stable-biw9247u7z: must specify limits.memory
当我描述 pod 时,我看到已经指定了限制
image: registry.xxx.xxxx.com/xxkl/xxx-xxxx:1.4
imagePullPolicy: IfNotPresent
name: nsc-core
ports:
- containerPort: 3000
protocol: TCP
resources:
limits:
memory: 500Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
我也检查了 NS 的配额
Name: app-xxxx-stable-biw9247u7z
Namespace: app-xxxx-stable-biw9247u7z
Resource Used Hard
-------- ---- ----
limits.memory 4072Mi 8Gi
我不确定为什么kubernetes不是指定的资源限制。需要帮助。
Forbidden Failed quota
当 pod 中的任何容器在规范中没有 limits
和 requests
并且也包括初始化容器时,就会出现错误。将 limits
和 requests
添加到所有容器应该可以解决错误。
在规范部分添加类似这样的内容
containers:
- name: nsc-core
image: registry.xxx.xxxx.com/xxkl/xxx-xxxx:1.4
resources:
limits:
cpu: "2"
memory: 2000Mi
requests:
cpu: "1"
memory: 1500Mi