在k8s中是否有默认的内存请求和/或pods /容器限制?



各位K8s用户好,

我正试图了解这是一个基本请求,还是k8s中每个pod容器的限制,就像今天一样,或者如果你知道未来会有什么变化。

我看过这样的答案:为pod分配的默认内存是多少声明没有任何,至少对于Google的k8s实现,我想知道这一点,也想知道当前部署的k8s状态。

是否有一个容器pod的任何基本请求或限值?

编辑:此外,k8s是否可以通过应用程序开发语言或为部署设置的环境变量(如java容器RUN命令或env: JVM_OPTS -Xms1G -Xmx1G)来预测容器内存请求?

没有默认限制或请求。为了配置默认资源,您应该创建如下所述的LimitRange资源:https://docs.openshift.com/container-platform/3.11/dev_guide/compute_resources.html#dev-viewing-limit-ranges

如果你希望每个新项目都有一定的资源限制,你可以修改默认的项目模板,如下所述:https://docs.openshift.com/container-platform/3.11/admin_guide/managing_projects.html#modifying-the-template-for-new-projects

这在4.6中也没有改变,只有如何修改LimitRange或默认项目模板的实现。(方法完全相同)

关于你预测应用程序资源的问题,有一些玩家在这个问题上。我只听说过turonomic,它甚至可以通过利用率和一些自定义指标自动更改您的部署资源。

默认情况下没有资源请求或限制,这意味着每个pod都是使用bestford QoS创建的。如果你想为请求和限制配置默认值,你应该使用LimitRange。

bestefort Pod根据定义是"对于一个Pod要被赋予bestefort的QoS类,Pod中的容器必须没有任何内存或CPU限制或请求"。bestefort pod在Kubernetes调度程序中具有最低的优先级,并且在资源争用的情况下可以被驱逐

以上所述适用于包括OpenShift在内的所有Kubernetes发行版。

最新更新