8.5. 配置集群以将 pod 放置到过量使用的节点上
OpenShift Container Platform 管理员可以使用 ClusterResourceOverride Operator 控制过量使用的程度,并管理开发人员容器上的容器密度。
在 OpenShift Container Platform 中,您必须启用集群级别的过量使用。节点过量使用功能会被默认启用。
处于 过量使用 状态时,容器计算资源请求和限值的总和超过系统中可用的资源。例如,您可以在一个开发环境中使用过量使用功能,因为在这种环境中可以接受以牺牲保障性能来换取功能的情况。
容器可以指定计算资源的请求(request)和限值(limit)。请求用于调度容器,以提供最低服务保证。限值用于约束节点上可以消耗的计算资源数量。
调度程序会尝试优化集群中所有节点的计算资源使用。它将 pod 放置到特定的节点上,同时考虑 pod 的计算资源请求和节点的可用容量。
8.5.1. 资源请求和过量使用 复制链接链接已复制到粘贴板!
您可以在过量使用的环境中使用资源请求可帮助您确保正确配置了集群。
对于每个计算资源,容器可以指定资源请求和限制。根据确保节点有足够可用容量以满足请求值的请求来做出调度决策。如果容器指定了限制,但忽略了请求,则请求会默认采用这些限制。容器无法超过节点上指定的限制。
限制的强制实施取决于计算资源类型。如果容器没有请求或限制,容器会调度到没有资源保障的节点。在实践中,容器可以在最低本地优先级适用的范围内消耗指定的资源。在资源较少的情况下,不指定资源请求的容器将获得最低的服务质量。
调度基于请求的资源,其中配额和硬限制引用资源限制,这可设置为高于请求的资源。请求与限值之间的区别决定了过量使用的程度。例如,如果容器被授予 1Gi 的内存请求和 2Gi 的内存限值,则容器会根据节点上可用的 1Gi 请求调度,但最多可以使用 2Gi;因此,它被过度使用。