gpt4 book ai didi

memory - 如果数量匹配,为什么我的 Pod 不满足资源配额限制?

转载 作者:行者123 更新时间:2023-12-05 05:10:44 24 4
gpt4 key购买 nike

将以下 ResourceQuota compute-resources 应用到我的 GKE 集群后

apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
spec:
hard:
limits.cpu: "1"
limits.memory: 1Gi

并将 Deployment 更新为

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-service
spec:
selector:
matchLabels:
app: my-service
tier: backend
track: stable
replicas: 2
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 50%
template:
metadata:
labels:
app: my-service
tier: backend
track: stable
spec:
containers:
- name: my-service
image: registry/namespace/my-service:latest
ports:
- name: http
containerPort: 8080
resources:
requests:
memory: "128Mi"
cpu: "125m"
limits:
memory: "256Mi"
cpu: "125m"

由于 pods "my-service-5bc4c68df6-4z8wp"is forbidden: failed quota: compute-resources: must specify limits.cpu,limits.memory 调度失败 100%。由于指定了 limitsrequests 并且它们满足了限制,所以我看不出应该禁止 pod 的原因。

How pod limits resource on kubernetes enforced when the pod exceed limits after pods is created ?是一个不同的问题。

我将集群升级到 1.13.6-gke.0。

最佳答案

我正要建议在单独的命名空间内进行测试,但看到您已经尝试过了。

作为另一种解决方法,尝试通过启用 LimitRanger 准入 Controller 并进行设置来设置默认限制,例如

apiVersion: v1
kind: LimitRange
metadata:
name: cpu-limit-range
spec:
limits:
- default:
memory: 256Mi
cpu: 125m
defaultRequest:
cpu: 125m
memory: 128Mi
type: Container

现在,如果在默认命名空间中创建了一个容器,并且该容器没有指定其自己的 CPU 请求和 CPU 限制值,则该容器的默认 CPU 限制为 125m,默认内存限制为 256Mi

此外,在设置 LimitRange 之后,请确保您删除了部署并且没有 pod 卡在失败状态。

关于memory - 如果数量匹配,为什么我的 Pod 不满足资源配额限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56374417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com