首页 > 解决方案 > 即使在 openshift 中指定 cpu 请求后,Pod 创建也会失败

问题描述

我创建了一个如下所示的资源配额。

apiVersion: v1
kind: ResourceQuota
metadata:
  name: compute-resources
spec:
  hard:
    requests.cpu: "900m" 

然后在我的部署中,我指定资源请求如下。

spec:
      containers:
      - image: nginx@sha256:189cce606b29fb2a33ebc2fcecfa8e33b0b99740da4737133cdbcee92f3aba0a
        imagePullPolicy: Always
        name: hello
        ports:
        - containerPort: 80
          protocol: TCP
        resources:
          requests:
            cpu: "500m"

即使在此之后,pod 创建也会失败并显示消息 -

Error creating deployer pod: pods "hello-1-deploy" is forbidden: failed quota: compute-resources: must specify requests.cpu

我在这里做错了什么?仅供参考,我对配额和 pod 使用相同的命名空间/项目。

标签: kubernetesopenshift

解决方案


您能否在请求中同时说明限制?无论如何,它是一个 kubernetes 最佳实践来指定工作负载的限制(想知道 Openshift 是否强制执行此操作,但显然该错误具有误导性)。

如果你有权限查看 kube-apiserver 日志,你可以看看是否有额外的线索。


推荐阅读