如何比较内存配额控制实现,openshift与docker
我的客户问我openshift是否可以提供与docker相同的内存使用控制,例如,docker run可以在运行容器时使用以下参数来控制内存使用:如何比较内存配额控制实现,openshift与docker,openshift,openshift-origin,Openshift,Openshift Origin,我的客户问我openshift是否可以提供与docker相同的内存使用控制,例如,docker run可以在运行容器时使用以下参数来控制内存使用: --kernel-memory --memory --memory-reservation 当我在openshift中搜索相应的部分时,我发现ResourceQuota和LimitRange应该可以做到这一点,但是如果一个pod声称使用LimitRange会使用100Mi内存,但实际上它会消耗500Mi内存呢?内存仍然可以“非法”使用,似乎dock
--kernel-memory
--memory
--memory-reservation
当我在openshift中搜索相应的部分时,我发现ResourceQuota和LimitRange应该可以做到这一点,但是如果一个pod声称使用LimitRange会使用100Mi内存,但实际上它会消耗500Mi内存呢?内存仍然可以“非法”使用,似乎docker用内存可以更好地控制这种情况
在openshift中,是否有任何方法可以控制实际内存使用情况,而不是检查LimitRange中的pod声明或使用“oc set resources dc hello--requests=memory=256Mi”
致意
Lan就我使用Openshift的经验而言,我没有遇到过POD消耗了更多内存或其配置的CPU的情况如果达到阈值,POD将自动关闭并重新启动 您可以在部署配置中设置POD资源限制:
resources:
limits:
cpu: 750m
memory: 1024Mi
可以在相应POD的度量部分中监控资源:
除了单独的POD设置外,您还可以为POD中的每个容器定义自己的总体项目设置
$ oc get limits
NAME
limits
$ oc describe limits <NAME>
Name: <NAME>
Namespace: <NAME_SPACE>
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
Pod memory 256Mi 32Gi - - -
Pod cpu 125m 6400m - - -
Container cpu 125m 6400m 125m 750m -
Container memory 256Mi 32Gi 512Mi 1Gi -
$oc获取限制
名称
限制
$oc描述限制
姓名:
名称空间:
类型资源最小最大默认请求默认限制最大限制/请求比率
---- -------- --- --- --------------- ------------- -----------------------
Pod内存256Mi 32Gi---
吊舱cpu 125m 6400m---
集装箱cpu 125m 6400m 125m 750m-
容器内存256Mi 32Gi 512Mi 1Gi-
有关资源设置的更多信息,请参阅。如果只使用--requests=memory=256Mi
,则将QoS级别设置为“”,这意味着pod可以请求至少256Mi的内存,而无上限,除非达到项目配额。如果要限制pod内存,请改用--limit=memory=256Mi