创建错误: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 中的任何容器在规范中没有 limitsrequests 并且也包括初始化容器时,就会出现错误。将 limitsrequests 添加到所有容器应该可以解决错误。

在规范部分添加类似这样的内容

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