当创建 pods 后 pod 超出限制时 pod 如何限制 kubernetes 上的资源?

How pod limits resource on kubernetes enforced when the pod exceed limits after pods is created ?

我像这样在 kubernetes api 服务器上为 pods 创建了限制

apiVersion: v1
kind: LimitRange
metadata:
 name: limits
spec:
 limits:
  - default:
     cpu: 100m
     memory: 512Mi
    max:
     memory: 1024Mi
    type: pod

如果我理解正确,如果 pod 在创建时超过用户定义的限制资源,kubernetes 将拒绝 pod。 所以,我尝试创建一个通过资源限制的新 pod,然后我尝试使用达到最大限制资源的资源,但它对 pod 没有任何影响。 LimitsRanger 和 ResourceQuota 插件是否包含在这种情况下,如果没有,我如何在创建资源 pods 后对其进行限制?

LimitRange 是准入控制的一部分;正如您所说,一旦 Pod 为 运行,它就没有任何效果。要限制运行时资源消耗,请使用 Container 中的 Resources 字段。

DavidO 的回答是正确的,所以我只想向与我面临同样问题的其他人解释解决此问题的解决方案。

您可以通过像这样添加资源字段来限制 运行 pod

"resources": {
          "limits": {
            "cpu": "100m",
            "memory": "50Mi"
           }
}

在 yaml 或 json 文件中的容器属性数组中,然后我通过

创建 rc 和 pods 文件
$ kubectl create -f filename.yaml

就这些 信用:DavidO