当前位置: 首页 > 知识库问答 >
问题:

当pod在创建pod后超过限制时,pod如何限制kubernetes上的资源?

邢炯
2023-03-14

我为kubernetes api服务器上的POD创建了如下限制

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

如果我理解正确,如果pod在创建pod时超出了用户定义的资源限制,kubernetes会拒绝pod。所以,我尝试创建一个新的pod,它通过了资源限制,然后我尝试消耗资源达到最大限制资源,但它对pod没有任何影响。LimitsRange和ResourceQuota插件是否包含在本案例中?如果没有,我如何在创建资源吊舱后限制资源吊舱?

共有2个答案

商柏
2023-03-14

DavidO的答案是正确的,所以我只是想向那些和我面临同样问题的人解释一个解决这个问题的方法。

您可以通过添加以下资源字段来限制pod的运行

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

在yaml或json文件中的容器属性数组中,我只创建rc和pods

$ kubectl create -f filename.yaml

这都是功劳:大卫

田慈
2023-03-14

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

 类似资料:
  • 我在AWS上的Kubernetes集群中部署了HashiCorp的存储库,使用了Helm图。 部署中的副本数指定为。 在这3个POD中,已就绪(),而其他两个副本POD尚未就绪()。我杀死了准备就绪的吊舱,虽然预计Kubernetes将部署一个新的吊舱来取代它,但它部署了两个新的吊舱。 现在我有两个准备好的吊舱和两个没有准备好的吊舱。删除其中一个豆荚后,现在库伯内特斯只重新创建一个豆荚。因此我有而

  • 当我尝试使用读取此pod的日志时,它不会返回任何内容。如何查看日志以了解状态为“挂起”的原因?

  • 我在一个吊舱内运行一个Spring靴,配置如下。 吊舱限制: 命令参数: 如果java进程达到其最大堆限制(即1600m(Xmx1600m))会发生什么 如果Xmx对pod内的java进程没有影响,它可以上升到pod限制右(即内存:限制部分的2500Mi) 如果上面的配置是正确的,那么我们就是在浪费900Mi的内存权(2500-1600=900)

  • 我正在运行 jenkins 作业来构建我们的 maven 应用程序并部署到 kubernetes 集群中。为此,我创建了 Pod 容器模板来部署我的模块。 当我运行构建我的jenkins作业时,我的构建失败,出现以下错误, 与此同时,当我检查kubernetes主服务器时,我可以看到pods正在尝试调度,并且在几秒钟后返回到终止状态。 管道脚本 请在下面找到主机配置 kubectl错误日志 你能请

  • 我需要在集群级或命名空间级(尽可能)配置以下限制: 不允许运行pod作为previldged 不允许pod作为uid 0运行 不允许任何吊舱使用主机网络命名空间 Kubernetes 1.12,带RBAC

  • 我正在我的a集群(10个节点)中运行几个kubernetes pod。每个pod只包含一个托管一个工作进程的容器。我已指定容器的CPU“限制”和“请求”。以下是在节点(crypt12)上运行的一个pod的描述。 以下是我运行“kubectl可描述节点crypt12”时的输出 更新:我在github问题讨论中找到了问题的答案:“kubectl描述节点”中的cpu百分比是“cpu限制/#个内核”。由于