OpenShift Resource Management Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 10: Line 10:
=Overview=
=Overview=


OpenShift provides API-level support for establishing and enforcing [[#Quota|resource quotas]]. The runtime monitors resource usage and [[#Resource_Consumption_Enforcement|intervenes]] when the quotas are reached or exceeded. [[#Quota|Resource quotas]] can be set up and managed on the following type of resources: the quantity of objects that can be created per project, the amount of compute resources (requests and limits on CPU and memory) consumed by the project and individually by project entities such as pods and containers, the amount of storage consumed by project entities. [[#Opaque_Integer_Resources|Opaque integer resources]] can also be set and monitored.
OpenShift provides API-level support for establishing and enforcing [[#Quota|resource quotas]]. The runtime monitors resource usage and [[#Resource_Consumption_Enforcement|intervenes]] when the quotas are reached or exceeded. [[#Quota|Resource quotas]] can be set up and managed on the following type of resources: the quantity of objects that can be created per project, the amount of compute resources (requests and limits on [[#CPU_Usage|CPU]] and [[#Memory_Usage|memory]]) consumed by the project and individually by project entities such as pods and containers, the amount of storage consumed by project entities. [[#Opaque_Integer_Resources|Opaque integer resources]] can also be set and monitored.


Resource monitoring and consumption is important because it insures that no projects are using more resources that is appropriate for the cluster size. Cluster administrators are primarily setting resource constraints, but also the developers can set request and limits on compute resources.
Resource monitoring and consumption is important because it insures that no projects are using more resources that is appropriate for the cluster size. Cluster administrators are primarily setting resource constraints, but also the developers can set request and limits on compute resources.

Revision as of 17:45, 1 February 2018

External

Internal

Overview

OpenShift provides API-level support for establishing and enforcing resource quotas. The runtime monitors resource usage and intervenes when the quotas are reached or exceeded. Resource quotas can be set up and managed on the following type of resources: the quantity of objects that can be created per project, the amount of compute resources (requests and limits on CPU and memory) consumed by the project and individually by project entities such as pods and containers, the amount of storage consumed by project entities. Opaque integer resources can also be set and monitored.

Resource monitoring and consumption is important because it insures that no projects are using more resources that is appropriate for the cluster size. Cluster administrators are primarily setting resource constraints, but also the developers can set request and limits on compute resources.

Quota

Limit Range

CPU Usage

CPU Request

CPU Limit

Memory Usage

Memory Request

Memory Limit

Opaque Integer Resources

Resource Consumption Enforcement

Organizatorium

ResourceQuota object enumerates hard resource usage limits per project.

ClusterResourceQuota object enumerates hard resource usage limits across the cluster.

After a quota is first declared on a project, the system restricts the ability to create new resources that may exceed the quota until usage statistics are calculated. If the resource creation request exceeds the quota, the server will deny the action and will return an error message.

When a resource is created, the quota usage is updated immediately. When a resource is delete, the quota usage is updated during the next full per-project statistics update.

Resource Quota Definition

Operations:

Enforcement

With cgroups?

Limits

Memory Limit

Propagates as /sys/fs/cgroup/memory/memory.limit_in_bytes in container.

Requests

Memory Request