一 资源限制 1.1 pod资源限制
pod可以包括资源请求和资源限制:
资源请求
用于调度,并控制pod不能在计算资源少于指定数量的情况下运行。调度程序试图找到一个具有足够计算资源的节点来满足pod请求。
资源限制
用于防止pod耗尽节点的所有计算资源,基于pod的节点配置Linux内核cgroups特性,以执行pod的资源限制。
尽管资源请求和资源限制是pod定义的一部分,但通常建议在dc中设置。OpenShift推荐的实践规定,不应该单独创建pod,而应该由dc创建。
1.2 应用配额OCP可以执行跟踪和限制两种资源使用的配额:
对象的数量:Kubernetes资源的数量,如pod、service和route。
计算资源:物理或虚拟硬件资源的数量,如CPU、内存和存储容量。
通过避免master的Etcd数据库的无限制增长,对Kubernetes资源的数量设置配额有助于OpenShift master服务器的稳定性。对Kubernetes资源设置配额还可以避免耗尽其他有限的软件资源,比如服务的IP地址。
同样,对计算资源的数量施加配额可以避免耗尽OpenShift集群中单个节点的计算能力。还避免了一个应用程序使用所有集群容量,从而影响共享集群的其他应用程序。
OpenShift通过使用ResourceQuota对象或简单的quota来管理对象使用的配额及计算资源。
ResourceQuota对象指定项目的硬资源使用限制。配额的所有属性都是可选的,这意味着任何不受配额限制的资源都可以无限制地使用。
注意:一个项目可以包含多个ResourceQuota对象,其效果是累积的,但是对于同一个项目,两个不同的 ResourceQuota 不会试图限制相同类型的对象或计算资源。
1.3 ResourceQuota限制资源下表显示 ResourceQuota 可以限制的主要对象和计算资源: